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
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
0 commit comments