Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and Deploy to Development Server
name: Build and Deploy to Development Server on Cloud

on:
push:
Expand All @@ -9,11 +9,11 @@ on:
jobs:
build-docker-image:
runs-on: ubuntu-latest
environment: dev
environment: cloud-dev

steps:
- name: get repo from github
uses: actions/checkout@v3
uses: actions/checkout@v4

# JDK setting
- name: Set up JDK 17
Expand All @@ -34,7 +34,7 @@ jobs:

# DockerHub 로그인
- name: Docker login
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
Expand Down Expand Up @@ -74,20 +74,20 @@ jobs:
deploy-to-dev:
runs-on: ubuntu-latest
needs: build-docker-image
environment: dev
environment: cloud-dev

steps:
- name: checkout repository
uses: actions/checkout@v3

- name: scp docker-compose.yml to server
- name: scp docker-compose and Caddyfile to server
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SERVER_PORT }}
source: docker/development/docker-compose.yml
source: "docker/development/docker-compose.yml, caddy/development/Caddyfile"
target: ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}
strip_components: 2

Expand All @@ -96,13 +96,11 @@ jobs:
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SERVER_PORT }}
script: |
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-api
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-admin
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml pull aics-auth
set -euo pipefail
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요거는 처음 알았네요 👍

cd ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}

echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-admin
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}/docker-compose.yml --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-auth
docker compose pull aics-api aics-admin aics-auth
docker compose --env-file ${{ secrets.ENVIRONMENT_PATH }} up -d aics-api aics-admin aics-auth
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
package kgu.developers.admin.config;

import static java.lang.String.format;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import java.util.List;
import java.util.Map;

import static java.lang.String.format;

@Configuration
@RequiredArgsConstructor
Expand All @@ -34,7 +33,7 @@ public class SwaggerConfig {
private final Environment environment;

private static final Map<String, String> PROFILE_SERVER_URL_MAP = Map.of(
"dev", "https://aics-admin.ummdev.com",
"dev", "https://aics-admin.kgudevelopers.monster",
"local", "http://localhost:8081"
);

Expand Down
21 changes: 10 additions & 11 deletions aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
package kgu.developers.api.config;

import static java.lang.String.format;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import java.util.List;
import java.util.Map;

import static java.lang.String.format;

@Configuration
@RequiredArgsConstructor
Expand All @@ -34,7 +33,7 @@ public class SwaggerConfig {
private final Environment environment;

private static final Map<String, String> PROFILE_SERVER_URL_MAP = Map.of(
"dev", "https://aics-api.ummdev.com",
"dev", "https://aics-api.kgudevelopers.monster",
"local", "http://localhost:8080"
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
package kgu.developers.auth.config;

import static java.lang.String.format;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import java.util.List;
import java.util.Map;

import static java.lang.String.format;

@Configuration
@RequiredArgsConstructor
Expand All @@ -34,7 +33,7 @@ public class SwaggerConfig {
private final Environment environment;

private static final Map<String, String> PROFILE_SERVER_URL_MAP = Map.of(
"dev", "https://aics-auth.ummdev.com",
"dev", "https://aics-auth.kgudevelopers.monster",
"local", "http://localhost:8082"
);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package kgu.developers.common.config;

import java.util.Arrays;
import java.util.Collections;

import kgu.developers.common.auth.filter.TokenAuthenticationFilter;
import kgu.developers.common.auth.jwt.TokenProvider;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
Expand All @@ -19,9 +19,8 @@
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;

import kgu.developers.common.auth.filter.TokenAuthenticationFilter;
import kgu.developers.common.auth.jwt.TokenProvider;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
import java.util.Collections;

@Configuration
@EnableWebSecurity
Expand Down Expand Up @@ -99,9 +98,9 @@ CorsConfigurationSource corsConfigurationSource() {
"http://localhost:8080",
"http://localhost:8081",
"http://localhost:8082",
"https://aics-api.ummdev.com",
"https://aics-admin.ummdev.com",
"https://aics-auth.ummdev.com",
"https://aics-api.kgudevelopers.monster",
"https://aics-admin.kgudevelopers.monster",
"https://aics-auth.kgudevelopers.monster",
"https://aics-client-dev.vercel.app/",
"http://175.45.195.63",
"http://203.249.22.207",
Expand Down
19 changes: 19 additions & 0 deletions caddy/development/Caddyfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
email kgudevelopers@gmail.com
}

aics-api.kgudevelopers.monster {
reverse_proxy aics-api:8080
}

aics-admin.kgudevelopers.monster {
reverse_proxy aics-admin:8081
}

aics-auth.kgudevelopers.monster {
reverse_proxy aics-auth:8082
}

kgudevelopers.monster {
reverse_proxy aics-app:3000
}
18 changes: 17 additions & 1 deletion docker/development/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,25 @@ services:
networks:
- aics-network

caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- aics-network

networks:
aics-network:
driver: bridge

volumes:
postgres-data:
postgres-data:
caddy_data:
caddy_config: