-
Notifications
You must be signed in to change notification settings - Fork 3
35 lines (28 loc) · 950 Bytes
/
deploy.yml
File metadata and controls
35 lines (28 loc) · 950 Bytes
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
name: Deploy
# main 브랜치에 pr이 생겼을 때 동작
on:
pull_request:
branches:
- main
types:
- closed
permissions:
contents: read
jobs:
run-docker-image-on-ec2:
# merge 되었을 때 실행
if: github.event.pull_request.merged == true
runs-on: self-hosted
steps:
# docker image 받기
- name: docker pull
run: sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/forgrad-app
# 기존의 컨테이너 중지
- name: docker stop container
run: sudo docker stop $(sudo docker ps -q) 2>/dev/null || true
# 새로운 컨테이너 실행
- name: docker run new container
run: sudo docker run --name forgrad-app --rm -d -p 8080:8080 -e TZ=Asia/Seoul -v /home/ubuntu/logs:/log ${{ secrets.DOCKERHUB_USERNAME }}/forgrad-app
# 미사용 이미지 정리
- name: delete old docker image
run: sudo docker system prune -f