-
Notifications
You must be signed in to change notification settings - Fork 1
92 lines (92 loc) · 2.64 KB
/
cd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#name: CD 수행
#
#on:
# push:
# branches:
# - dev
# - main
# paths-ignore:
# - 'README.md'
# - 'src/test/**'
#
## repository에 대한 읽기 권한만 부여
#permissions:
# contents: read
#
## 동시성 그룹 설정, 진행 중인 이전 실행 취소 후 새 실행을 시작
#concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
#
#jobs:
# build-docker-image-and-push:
# runs-on: ubuntu-latest
#
# steps:
# - name: repository checkout
# uses: actions/checkout@v3
#
# - name: JDK set up
# uses: actions/setup-java@v3
# with:
# java-version: '17'
# distribution: 'temurin'
#
# - name: fcm account key 설정
# env:
# FCM_ACCOUNT_KEY: ${{ secrets.FCM_ACCOUNT_KEY }}
# run: |
# touch src/main/resources/tokpik-firebase-account.json
# echo "$FCM_ACCOUNT_KEY" | base64 --decode > src/main/resources/tokpik-firebase-account.json
#
# - name: application.properties 설정
# run: |
# touch src/main/resources/application.properties
# echo "${{ secrets.APPLICATION_PROPERTIES }}" > src/main/resources/application.properties
#
# - name: gradlew 실행 권한 부여
# run: chmod +x gradlew
#
# - name: gradlew 빌드
# run: ./gradlew build
#
# - name: docker 이미지 빌드
# run: docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/tokpik-be:latest .
#
# - name: docker login
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKER_HUB_USERNAME }}
# password: ${{ secrets.DOCKER_HUB_TOKEN }}
#
# - name: docker hub에 이미지 push
# run: docker push ${{ secrets.DOCKER_HUB_USERNAME }}/tokpik-be:latest
#
# deploy:
# needs: build-docker-image-and-push
# if: ${{ needs.build-docker-image-and-push.result == 'success' }}
# runs-on:
# - self-hosted
# - ec2-runner
# steps:
# - name: repository checkout
# uses: actions/checkout@v3
#
# - name: Docker 시스템 정리
# run: |
# docker container prune -f
# docker image prune -a -f
# docker volume prune -f
# docker rmi $(docker images -f "dangling=true" -q) || true
#
# - name: 배포
# run: |
# mkdir -p /home/ubuntu/logs
# chmod -c 755 /home/ubuntu/logs
# docker rm -f tokpik-be || true
# docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/tokpik-be
# docker run -d \
# -p 8080:8080 \
# -v /home/ubuntu/logs:/app/logs \
# --name tokpik-be \
# ${{ secrets.DOCKER_HUB_USERNAME }}/tokpik-be