Skip to content

Commit

Permalink
refactor: aws t2.micro로 변경을 위해 admin, batch 소스를 layer-api로 이관 (#289)
Browse files Browse the repository at this point in the history
* refactor: layer-admin 소스를 layer-api로 이관

* refactor: layer-batch 소스를 layer-api로 이관

* refactor: layer-api > infra, .github에서 batch, admin 관련 코드 제거

* refactor: layer-api > infra > develop, nginx 설정 파일에서 admin, batch와 관련한 부분 삭제

* chore: dev환경 배포 테스트

* chore: dev환경 배포 테스트2

* chore: dev환경 배포 테스트3

* fix: --remove-orphans 옵션 추가

* refactor: prod환경 배포 테스트

* refactor: prod환경 배포 테스트2(--remove-orphan 옵션 삭제)

* fix: prod에 --remove-orphans 옵션 추가

* fix: dev에서 --remove-orphans 옵션 삭제

* fix: prod에서 --remove-orphans 옵션 삭제
  • Loading branch information
clean2001 authored Feb 15, 2025
1 parent 56028f0 commit 4ab2bf6
Show file tree
Hide file tree
Showing 27 changed files with 592 additions and 329 deletions.
52 changes: 3 additions & 49 deletions .github/workflows/aws-cicd-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- develop

pull_request:
branches:
- develop
Expand All @@ -22,8 +23,6 @@ jobs:
deploy_target: ${{ steps.set-env.outputs.DEPLOY_TARGET }}

steps:


- name: Setup Env
id: set-env
run: |
Expand Down Expand Up @@ -63,27 +62,14 @@ jobs:

- name: Create application-secret.properties
run: |
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-api/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-batch/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-admin/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-api/src/main/resources/application-secret.properties
- name: Build layer-api module
run: ./gradlew :layer-api:build

- name: Test layer-api module
run: ./gradlew :layer-api:test

- name: Build layer-batch module
run: ./gradlew :layer-batch:build

- name: Test layer-batch module
run: ./gradlew :layer-batch:test

- name: Build layer-admin module
run: ./gradlew :layer-admin:build

- name: Test layer-admin module
run: ./gradlew :layer-admin:test

- name: Docker Hub Login
uses: docker/login-action@v1
Expand All @@ -96,9 +82,7 @@ jobs:
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-api
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-batch
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-admin
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-api
- name: Push layer-api Docker Image
uses: docker/build-push-action@v4
Expand All @@ -113,31 +97,6 @@ jobs:
SPRING_PROFILE=dev
no-cache: true

- name: Push layer-batch Docker Image
uses: docker/build-push-action@v4
with:
context: ./layer-batch
file: ./layer-batch/Dockerfile # Dockerfile 이름 지정
platforms: linux/amd64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-batch:latest
build-args: |
SPRING_PROFILE=dev
no-cache: true

- name: Push layer-admin Docker Image
uses: docker/build-push-action@v4
with:
context: ./layer-admin
file: ./layer-admin/Dockerfile # Dockerfile 이름 지정
platforms: linux/amd64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-admin:latest
build-args: |
SPRING_PROFILE=dev
deploy:
name: Deploy
needs: [ build, setup ]
Expand All @@ -154,8 +113,6 @@ jobs:
- name: Create application-secret.properties file
run: |
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-api/infra/${{ env.DEPLOY_TARGET }}/application-secret.properties
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-batch/src/main/resources/application-secret.properties
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-admin/src/main/resources/application-secret.properties
- name: Archive Files
run: |
Expand Down Expand Up @@ -204,9 +161,6 @@ jobs:
key: ${{ secrets.AWS_INSTANCE_PEM }}
port: 22
script: |
sudo apt update
sudo apt install docker-ce
sudo apt install docker-compose
sudo docker login --username ${{ secrets.DOCKER_EMAIL }} --password ${{ secrets.DOCKER_PASSWORD }}
cd /home/ubuntu/layer-api/infra/${{ env.DEPLOY_TARGET }}
chmod 777 ./deploy.sh
Expand Down
52 changes: 4 additions & 48 deletions .github/workflows/aws-cicd-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
branches:
- main
- refactor/LA-38
pull_request:
branches:
- main
- refactor/LA-38

env:
REGISTRY: "docker.io"
Expand Down Expand Up @@ -58,28 +60,14 @@ jobs:

- name: Create application-secret.properties
run: |
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-api/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-batch/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-admin/src/main/resources/application-secret.properties
echo "${APPLICATION_SECRET_PROPERTIES}" > ./layer-api/src/main/resources/application-secret.properties
- name: Build layer-api module
run: ./gradlew :layer-api:build

- name: Test layer-api module
run: ./gradlew :layer-api:test

- name: Build layer-batch module
run: ./gradlew :layer-batch:build

- name: Test layer-batch module
run: ./gradlew :layer-batch:test

- name: Build layer-admin module
run: ./gradlew :layer-admin:build

- name: Test layer-admin module
run: ./gradlew :layer-admin:test

- name: Docker Hub Login
uses: docker/login-action@v1
with:
Expand All @@ -91,9 +79,7 @@ jobs:
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-api
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-batch
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-admin
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-api
- name: Push layer-api Docker Image
uses: docker/build-push-action@v4
Expand All @@ -108,31 +94,6 @@ jobs:
SPRING_PROFILE=prod
no-cache: true

- name: Push layer-batch Docker Image
uses: docker/build-push-action@v4
with:
context: ./layer-batch
file: ./layer-batch/Dockerfile # Dockerfile 이름 지정
platforms: linux/amd64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-batch:latest
build-args: |
SPRING_PROFILE=prod
no-cache: true

- name: Push layer-admin Docker Image
uses: docker/build-push-action@v4
with:
context: ./layer-admin
file: ./layer-admin/Dockerfile # Dockerfile 이름 지정
platforms: linux/amd64
push: true
tags: |
${{ env.REGISTRY }}/${{ env.NAMESPACE }}/${{ env.IMAGE_NAME }}_layer-admin:latest
build-args: |
SPRING_PROFILE=prod
deploy:
name: Deploy
needs: [ build, setup ]
Expand All @@ -149,8 +110,6 @@ jobs:
- name: Create application-secret.properties file
run: |
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-api/infra/${{ env.DEPLOY_TARGET }}/application-secret.properties
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-batch/src/main/resources/application-secret.properties
echo "${{ secrets.APPLICATION_SECRET_PROPERTIES }}" > ./layer-admin/src/main/resources/application-secret.properties
- name: Archive Files
run: |
Expand Down Expand Up @@ -199,9 +158,6 @@ jobs:
key: ${{ secrets.AWS_INSTANCE_PEM }}
port: 22
script: |
sudo apt update
sudo apt install docker-ce
sudo apt install docker-compose
sudo docker login --username ${{ secrets.DOCKER_EMAIL }} --password ${{ secrets.DOCKER_PASSWORD }}
cd /home/ubuntu/layer-api/infra/${{ env.DEPLOY_TARGET }}
chmod 777 ./deploy.sh
Expand Down
41 changes: 0 additions & 41 deletions layer-api/infra/development/docker-compose-blue.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,47 +30,6 @@ services:
max-size: "10m"
max-file: "3"

batch-job-blue:
image: docker.io/clean01/layer-server_layer-batch:latest
container_name: layer-batch-blue
environment:
- TZ=Asia/Seoul
volumes:
- ./application-secret.properties:/config/application-secret.properties
- ./tokens:/config/tokens
networks:
- app-network
depends_on:
- layer-api-blue
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"

admin-app-blue:
image: docker.io/clean01/layer-server_layer-admin:latest #
container_name: layer-admin-blue
ports:
- "3001:3000"
environment:
- TZ=Asia/Seoul
- SPRING_PROFILES_ACTIVE=dev
volumes:
- ./application-secret.properties:/config/application-secret.properties
- ./tokens:/config/tokens
networks:
- app-network
depends_on:
- layer-api-blue
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"

networks:
app-network:

Expand Down
42 changes: 1 addition & 41 deletions layer-api/infra/development/docker-compose-green.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ services:
networks:
- app-network


layer-api-green:
image: docker.io/clean01/layer-server_layer-api:latest
container_name: layer-api-green
Expand All @@ -30,47 +31,6 @@ services:
max-size: "10m"
max-file: "3"

batch-job-green:
image: docker.io/clean01/layer-server_layer-batch:latest
container_name: layer-batch-green
environment:
- TZ=Asia/Seoul
volumes:
- ./application-secret.properties:/config/application-secret.properties
- ./tokens:/config/tokens
networks:
- app-network
depends_on:
- layer-api-green
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"

admin-app-green:
image: docker.io/clean01/layer-server_layer-admin:latest #
container_name: layer-admin-green
ports:
- "3000:3000"
environment:
- TZ=Asia/Seoul
- SPRING_PROFILES_ACTIVE=dev
volumes:
- ./application-secret.properties:/config/application-secret.properties
- ./tokens:/config/tokens
networks:
- app-network
depends_on:
- layer-api-green
restart: always
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"

networks:
app-network:

Expand Down
17 changes: 0 additions & 17 deletions layer-api/infra/development/nginx.blue.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ http {
server localhost:8081;
}

upstream layer-admin {
server localhost:3001;
}

# api.layerapp.io에 대한 서버 블록
server {
listen 80;
Expand All @@ -23,17 +19,4 @@ http {
}
}

# admin.api.layerapp.io에 대한 서버 블록
server {
listen 80;
server_name admin-dev.layerapp.io;

location / {
proxy_pass http://layer-admin;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
17 changes: 0 additions & 17 deletions layer-api/infra/development/nginx.green.conf
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ http {
server localhost:8080;
}

upstream layer-admin {
server localhost:3000;
}

# api.layerapp.io에 대한 서버 블록
server {
listen 80;
Expand All @@ -23,17 +19,4 @@ http {
}
}

# admin.api.layerapp.io에 대한 서버 블록
server {
listen 80;
server_name admin-dev.layerapp.io;

location / {
proxy_pass http://layer-admin;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
Loading

0 comments on commit 4ab2bf6

Please sign in to comment.