Skip to content

Commit ee2baad

Browse files
committed
CLAP-104 CI/CD : 깃허브액션 dev 환경 ci/cd 스크립트 다시 분리
<footer> - 관련: #55
1 parent e760844 commit ee2baad

File tree

2 files changed

+67
-83
lines changed

2 files changed

+67
-83
lines changed

.github/workflows/dev-cd.yml

Lines changed: 65 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,65 @@
1-
## github repository actions 페이지에 나타날 이름
2-
#name: CD to dev using github actions
3-
#
4-
## event trigger
5-
## develop 브랜치에 pull_request가 닫혔을 때 실행
6-
#on:
7-
# pull_request:
8-
# types: [ closed ]
9-
# branches: [ "develop" ]
10-
#
11-
#permissions:
12-
# contents: read
13-
#
14-
#jobs:
15-
# DEV-CD:
16-
# if: github.event.pull_request.merged == true
17-
# runs-on: ubuntu-latest
18-
# steps:
19-
# - name: Download build artifacts
20-
# uses: actions/download-artifact@v4
21-
# with:
22-
# name: build-artifacts
23-
# github-token: ${{ secrets.GH_TOKEN }}
24-
#
25-
# ## docker build & push to production
26-
# - name: Docker build & push to prod
27-
# run: |
28-
# docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
29-
# docker build -t ${{ secrets.DOCKER_REPO }} .
30-
# docker push ${{ secrets.DOCKER_REPO }}
31-
#
32-
# ## deploy to dev
33-
# - name: Deploy to prod
34-
# uses: appleboy/ssh-action@master
35-
# id: deploy
36-
# with:
37-
# host: ${{ secrets.DEV_HOST }}
38-
# username: ${{ secrets.DEV_HOST_USERNAME }}
39-
# key: ${{ secrets.DEV_HOST_KEY }}
40-
# port: ${{ secrets.DEV_HOST_PORT }}
41-
# script: |
42-
# docker rm -f taskflow
43-
# docker image rm ${{ secrets.DOCKER_REPO }} -f
44-
# docker run --name taskflow --network host -d -p 8080:8080 ${{ secrets.DOCKER_REPO }} --restart on-failure
1+
# github repository actions 페이지에 나타날 이름
2+
name: CD to dev using github actions
3+
4+
# event trigger
5+
# develop 브랜치에 pull_request가 닫혔을 때 실행
6+
on:
7+
pull_request:
8+
types: [ closed ]
9+
branches: [ "develop" ]
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
DEV-CD:
16+
if: github.event.pull_request.merged == true
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v3
20+
- name: 'Set up jdk'
21+
uses: actions/setup-java@v3
22+
with:
23+
java-version: '17'
24+
distribution: 'temurin' # https://github.com/actions/setup-java
25+
26+
- run: touch ./Dockerfile
27+
- run: echo "${{ secrets.DEV_DOCKERFILE }}" > ./Dockerfile
28+
29+
# gradle caching - 빌드 시간 향상
30+
- name: Gradle Caching
31+
uses: actions/cache@v4
32+
with:
33+
path: |
34+
~/.gradle/caches
35+
~/.gradle/wrapper
36+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
37+
restore-keys: |
38+
${{ runner.os }}-gradle-
39+
40+
## gradle build
41+
- name: Build with Gradle
42+
run: |
43+
chmod +x ./gradlew
44+
./gradlew build -x test
45+
46+
## docker build & push to production
47+
- name: Docker build & push to dev
48+
run: |
49+
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
50+
docker build -t ${{ secrets.DOCKER_REPO }} .
51+
docker push ${{ secrets.DOCKER_REPO }}
52+
53+
## deploy to dev
54+
- name: Deploy to prod
55+
uses: appleboy/ssh-action@master
56+
id: deploy
57+
with:
58+
host: ${{ secrets.DEV_HOST }}
59+
username: ${{ secrets.DEV_HOST_USERNAME }}
60+
key: ${{ secrets.DEV_HOST_KEY }}
61+
port: ${{ secrets.DEV_HOST_PORT }}
62+
script: |
63+
docker rm -f taskflow
64+
docker image rm ${{ secrets.DOCKER_REPO }} -f
65+
docker run --name taskflow --network host -d -p 8080:8080 ${{ secrets.DOCKER_REPO }} --restart on-failure

.github/workflows/dev-ci.yml

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# github repository actions 페이지에 나타날 이름
2-
name: CI/CD to dev using github actions
2+
name: CI for dev using github actions
33

44
# event trigger
55
# develop 브랜치에 pull_request가 열렸을 때 실행
66
on:
77
pull_request:
8-
types: [opened, synchronize, closed]
8+
types: [opened, synchronize]
99
branches: [ "develop" ]
1010

1111
permissions:
@@ -23,9 +23,6 @@ jobs:
2323
java-version: '17'
2424
distribution: 'temurin' # https://github.com/actions/setup-java
2525

26-
- run: touch ./Dockerfile
27-
- run: echo "${{ secrets.DEV_DOCKERFILE }}" > ./Dockerfile
28-
2926
# gradle caching - 빌드 시간 향상
3027
- name: Gradle Caching
3128
uses: actions/cache@v4
@@ -42,37 +39,3 @@ jobs:
4239
run: |
4340
chmod +x ./gradlew
4441
./gradlew build
45-
46-
- name: Upload build artifacts
47-
uses: actions/upload-artifact@v4
48-
with:
49-
name: build-artifacts
50-
path: build/libs/*.jar
51-
52-
DEV-CD:
53-
if: github.event.action == 'closed' && github.event.pull_request.merged == true
54-
runs-on: ubuntu-latest
55-
steps:
56-
- name: Download build artifacts
57-
uses: actions/download-artifact@v4
58-
with:
59-
name: build-artifacts
60-
github-token: ${{ secrets.GH_TOKEN }}
61-
62-
- name: Docker build & push to prod
63-
run: |
64-
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
65-
docker build -t ${{ secrets.DOCKER_REPO }} .
66-
docker push ${{ secrets.DOCKER_REPO }}
67-
68-
- name: Deploy to dev
69-
uses: appleboy/ssh-action@master
70-
with:
71-
host: ${{ secrets.DEV_HOST }}
72-
username: ${{ secrets.DEV_HOST_USERNAME }}
73-
key: ${{ secrets.DEV_HOST_KEY }}
74-
port: ${{ secrets.DEV_HOST_PORT }}
75-
script: |
76-
docker rm -f taskflow || true
77-
docker image rm ${{ secrets.DOCKER_REPO }} -f || true
78-
docker run --name taskflow --network host -d -p 8080:8080 ${{ secrets.DOCKER_REPO }} --restart on-failure

0 commit comments

Comments
 (0)