@@ -19,32 +19,19 @@ jobs:
19
19
- name : Set up Docker Buildx
20
20
uses : docker/setup-buildx-action@v1
21
21
22
- - name : Generate Environment Variables File
23
- run : |
24
- echo "NODE_ENV=${{ secrets.DEV_NODE_ENV }}" >> $GITHUB_ENV
25
- echo "PORT=${{ secrets.DEV_PORT }}" >> $GITHUB_ENV
26
- echo "RDB_HOST=${{ secrets.DEV_RDB_HOST }}" >> $GITHUB_ENV
27
- echo "RDB_PORT=${{ secrets.DEV_RDB_PORT }}" >> $GITHUB_ENV
28
- echo "RDB_USER_NAME=${{ secrets.DEV_RDB_USER_NAME }}" >> $GITHUB_ENV
29
- echo "RDB_PASSWORD=${{ secrets.DEV_RDB_PASSWORD }}" >> $GITHUB_ENV
30
- echo "RDB_DATABASE=${{ secrets.DEV_RDB_DATABASE }}" >> $GITHUB_ENV
31
- echo "JWT_SECRET=${{ secrets.DEV_JWT_SCERET }}" >> $GITHUB_ENV
32
- cat $GITHUB_ENV
33
-
34
22
- name : Build and package
35
23
run : |
36
24
npm install
37
25
npm run build
38
- sudo docker build --platform linux/amd64 \
39
- --build-arg NODE_ENV=${{ secrets.DEV_NODE_ENV }} \
40
- --build-arg PORT=${{ secrets.DEV_PORT }} \
41
- --build-arg RDB_HOST=${{ secrets.DEV_RDB_HOST }} \
42
- --build-arg RDB_PORT=${{ secrets.DEV_RDB_PORT }} \
43
- --build-arg RDB_USER_NAME=${{ secrets.DEV_RDB_USER_NAME }} \
44
- --build-arg RDB_PASSWORD=${{ secrets.DEV_RDB_PASSWORD }} \
45
- --build-arg RDB_DATABASE=${{ secrets.DEV_RDB_DATABASE }} \
46
- --build-arg JWT_SECRET=${{ secrets.DEV_JWT_SECRET }} \
47
- -t ${{ secrets.DOCKER_IMAGE_NAME }}:latest .
26
+ echo "NODE_ENV=${{ secrets.NODE_ENV }}" >> .env
27
+ echo "PORT=${{ secrets.PORT }}" >> .env
28
+ echo "DB_HOST=${{ secrets.DB_HOST }}" >> .env
29
+ echo "DB_PORT=${{ secrets.DB_PORT }}" >> .env
30
+ echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> .env
31
+ echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env
32
+ echo "DB_DATABASE=${{ secrets.DB_DATABASE }}" >> .env
33
+ cat .env
34
+ sudo docker build --platform linux/amd64 -t ${{ secrets.DOCKER_IMAGE_NAME }}:latest .
48
35
49
36
- name : Login to Docker Hub
50
37
uses : docker/login-action@v1
55
42
- name : Push Docker image
56
43
run : docker push ${{ secrets.DOCKER_IMAGE_NAME }}:latest
57
44
58
- if : success()
59
- - name : Slack Notification on Success
60
- id : slack-success
61
- uses : slackapi/slack-github-action@v1.24.0
62
- with :
63
- payload : |
64
- {
65
- "channel": "채널 ID",
66
- "attachments": [
67
- {
68
- "color": "#36a64f", # 성공시 연두색
69
- "title": "${{ github.repository }}", # 제목은 깃헙 레포지토리
70
- "title_link": "https://github.com/${{ github.repository }}", # 제목 클릭시 레포지토리로 이동
71
- "text": "GitHub Action 성공",
72
- "fields": [
73
- {
74
- "title": "Repository",
75
- "value": "${{ github.repository }}",
76
- "short": true
77
- },
78
- {
79
- "title": "Tag",
80
- "value": "${{ github.ref_name }}",
81
- "short": true
82
- }
83
- ]
84
- }
85
- ]
86
- }
87
- env :
88
- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
89
- SLACK_WEBHOOK_TYPE : INCOMING_WEBHOOK
90
-
91
45
deploy :
92
46
needs : build
93
47
runs-on : self-hosted # runner로 ec2 연결
103
57
run : |
104
58
sudo docker pull ${{ secrets.DOCKER_IMAGE_NAME }}:latest
105
59
sudo docker-compose down
106
- sudo docker-compose up --force-recreate --build -d
60
+ sudo docker-compose up --force-recreate --build -d
0 commit comments