Skip to content

Commit ad225de

Browse files
authored
refactor/#186 docker-compose.yml Github 연동 및 Auth 모듈 추가에 따른 배포 파이프라인 수정 (#190)
* chore: docker-compose.yml 작성 및 배포 워크플로 수정 * chore: auth 모듈 추가에 따른 배포 파이프라인 수정
1 parent 97d10bb commit ad225de

File tree

4 files changed

+96
-13
lines changed

4 files changed

+96
-13
lines changed

.github/workflows/dev-build-deploy.yml

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build and Deploy to Dev Server
1+
name: Build and Deploy to Development Server
22

33
on:
44
push:
@@ -28,8 +28,9 @@ jobs:
2828

2929
- name: Build with Gradle Wrapper
3030
run: |
31-
./gradlew clean build -p aics-api -x test
3231
./gradlew clean build -p aics-admin -x test
32+
./gradlew clean build -p aics-api -x test
33+
./gradlew clean build -p aics-auth -x test
3334
3435
# DockerHub 로그인
3536
- name: Docker login
@@ -39,32 +40,46 @@ jobs:
3940
password: ${{ secrets.DOCKERHUB_PASSWORD }}
4041

4142
# Docker 이미지 빌드
43+
- name: Docker image build for aics-admin
44+
run: |
45+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} -f aics-admin/Dockerfile .
46+
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest
47+
4248
- name: Docker image build for aics-api
4349
run: |
4450
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} -f aics-api/Dockerfile .
4551
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest
4652
47-
- name: Docker image build for aics-admin
53+
- name: Docker image build for aics-auth
4854
run: |
49-
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} -f aics-admin/Dockerfile .
50-
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest
55+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} -f aics-auth/Dockerfile .
56+
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest
5157
5258
# Docker Hub 이미지 푸시
59+
- name: docker Hub push for aics-admin
60+
run: |
61+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }}
62+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest
63+
5364
- name: docker Hub push for aics-api
5465
run: |
5566
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }}
5667
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest
5768
58-
- name: docker Hub push for aics-admin
69+
- name: docker Hub push for aics-auth
5970
run: |
60-
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:${{ github.sha }}
61-
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-admin:latest
71+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }}
72+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest
6273
6374
deploy-to-dev:
6475
runs-on: ubuntu-latest
6576
needs: build-docker-image
6677
environment: dev
78+
6779
steps:
80+
- name: checkout repository
81+
uses: actions/checkout@v3
82+
6883
- name: SSH to server and deploy
6984
uses: appleboy/ssh-action@v1.1.0
7085
with:
@@ -73,7 +88,12 @@ jobs:
7388
password: ${{ secrets.SERVER_PASSWORD }}
7489
port: ${{ secrets.SERVER_PORT }}
7590
script: |
91+
echo "${{ secrets.SERVER_PASSWORD }}" | scp docker/development/docker-compose.yml ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.DOCKER_COMPOSE_PATH }}
92+
7693
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-api
7794
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-admin
95+
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-auth
96+
7897
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-api
79-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-admin
98+
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-admin
99+
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-auth

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,4 @@ out/
3434
/.nb-gradle/
3535

3636
### VS Code ###
37-
.vscode/
38-
39-
### Docker ###
40-
docker-compose.yml
37+
.vscode/
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
version: '3.8'
2+
3+
services:
4+
aics-api:
5+
image: ${DOCKER_USERNAME}/aics-api:latest
6+
container_name: aics-api
7+
ports:
8+
- "${AICS_API_PORT}:8080"
9+
depends_on:
10+
- postgres
11+
- redis
12+
networks:
13+
- aics-network
14+
15+
aics-admin:
16+
image: ${DOCKER_USERNAME}/aics-admin:latest
17+
container_name: aics-admin
18+
ports:
19+
- "${AICS_ADMIN_PORT}:8081"
20+
depends_on:
21+
- postgres
22+
- redis
23+
networks:
24+
- aics-network
25+
26+
aics-auth:
27+
image: ${DOCKER_USERNAME}/aics-auth:latest
28+
container_name: aics-auth
29+
ports:
30+
- "${AICS_AUTH_PORT}:8082"
31+
depends_on:
32+
- postgres
33+
- redis
34+
networks:
35+
- aics-network
36+
37+
postgres:
38+
image: postgres:15
39+
container_name: postgres-db
40+
restart: always
41+
ports:
42+
- "${POSTGRES_PORT}:5432"
43+
environment:
44+
POSTGRES_USER: ${DB_USERNAME}
45+
POSTGRES_PASSWORD: ${DB_PASSWORD}
46+
volumes:
47+
- postgres-data:${DB_VOLUME_PATH}
48+
networks:
49+
- aics-network
50+
51+
redis:
52+
image: redis:latest
53+
container_name: redis
54+
restart: always
55+
command: redis-server
56+
ports:
57+
- "${REDIS_PORT}:6379"
58+
networks:
59+
- aics-network
60+
61+
networks:
62+
aics-network:
63+
driver: bridge
64+
65+
volumes:
66+
postgres-data:

docker/production/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)