Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 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,7 +74,7 @@ jobs:
deploy-to-dev:
runs-on: ubuntu-latest
needs: build-docker-image
environment: dev
environment: cloud-dev

steps:
- name: checkout repository
Expand All @@ -85,7 +85,7 @@ jobs:
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
target: ${{ secrets.DOCKER_COMPOSE_YAML_PATH }}
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
Copy Markdown
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", "http://52.79.164.36:8081",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

음 public ip가 외부로 드러나는게 좋은 상황은 아닌거 같아요.
환경변수 처리하거나 dns로 대체하는게 어떨까요?

"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", "http://52.79.164.36:8080",
"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", "http://52.79.164.36:8082",
"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",
"http://52.79.164.36:8080",
"http://52.79.164.36:8081",
"http://52.79.164.36:8082",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

cors address도 사실 외부에서 주입 받으면 좋을듯요

  1. 보안 이슈
  2. 하드 코딩 의존성

보통 이 두가지 때문에 yaml로 빼거나 환경변수로 분리하는 것 같아요

"https://aics-client-dev.vercel.app/",
"http://175.45.195.63",
"http://203.249.22.207",
Expand Down