Skip to content

Commit 7536760

Browse files
committed
fix: CD 복구 및 수정
1 parent 6ca4a5d commit 7536760

File tree

1 file changed

+99
-26
lines changed

1 file changed

+99
-26
lines changed
Lines changed: 99 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,99 @@
1-
deploy-to-dev:
2-
runs-on: ubuntu-latest
3-
needs: build-docker-image
4-
environment: dev
5-
6-
steps:
7-
- name: checkout repository
8-
uses: actions/checkout@v3
9-
10-
- name: SSH to server and deploy
11-
uses: appleboy/ssh-action@v1.1.0
12-
with:
13-
host: ${{ secrets.SERVER_HOST }}
14-
username: ${{ secrets.SERVER_USERNAME }}
15-
password: ${{ secrets.SERVER_PASSWORD }}
16-
port: ${{ secrets.SERVER_PORT }}
17-
script: |
18-
echo "${{ secrets.SERVER_PASSWORD }}" | scp docker/development/docker-compose.yml ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.DOCKER_COMPOSE_PATH }}
19-
20-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-api
21-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-admin
22-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-auth
23-
24-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-api
25-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-admin
26-
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-auth
1+
name: Build and Deploy to Development Server
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
workflow_dispatch:
8+
9+
jobs:
10+
build-docker-image:
11+
runs-on: ubuntu-latest
12+
environment: dev
13+
14+
steps:
15+
- name: get repo from github
16+
uses: actions/checkout@v3
17+
18+
# JDK setting
19+
- name: Set up JDK 17
20+
uses: actions/setup-java@v4
21+
with:
22+
java-version: '17'
23+
distribution: 'temurin'
24+
25+
# gradle 빌드
26+
- name: Setup Gradle
27+
run: chmod +x gradlew
28+
29+
- name: Build with Gradle Wrapper
30+
run: |
31+
./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
34+
35+
# DockerHub 로그인
36+
- name: Docker login
37+
uses: docker/login-action@v2
38+
with:
39+
username: ${{ secrets.DOCKERHUB_USERNAME }}
40+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
41+
42+
# 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+
48+
- name: Docker image build for aics-api
49+
run: |
50+
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} -f aics-api/Dockerfile .
51+
docker tag ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }} ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest
52+
53+
- name: Docker image build for aics-auth
54+
run: |
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
57+
58+
# 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+
64+
- name: docker Hub push for aics-api
65+
run: |
66+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:${{ github.sha }}
67+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-api:latest
68+
69+
- name: docker Hub push for aics-auth
70+
run: |
71+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:${{ github.sha }}
72+
docker push ${{ secrets.DOCKERHUB_USERNAME }}/aics-auth:latest
73+
74+
deploy-to-dev:
75+
runs-on: ubuntu-latest
76+
needs: build-docker-image
77+
environment: dev
78+
79+
steps:
80+
- name: checkout repository
81+
uses: actions/checkout@v3
82+
83+
- name: SSH to server and deploy
84+
uses: appleboy/ssh-action@v1.1.0
85+
with:
86+
host: ${{ secrets.SERVER_HOST }}
87+
username: ${{ secrets.SERVER_USERNAME }}
88+
password: ${{ secrets.SERVER_PASSWORD }}
89+
port: ${{ secrets.SERVER_PORT }}
90+
script: |
91+
echo "${{ secrets.SERVER_PASSWORD }}" | scp docker/development/docker-compose.yml ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.DOCKER_COMPOSE_PATH }}
92+
93+
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} pull aics-api
94+
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+
97+
echo "${{ secrets.SERVER_PASSWORD }}" | sudo -S docker-compose -f ${{ secrets.DOCKER_COMPOSE_YAML_PATH }} up -d aics-api
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

0 commit comments

Comments
 (0)