forked from boostcampwm-2022/web14-interface
-
Notifications
You must be signed in to change notification settings - Fork 0
53 lines (44 loc) · 1.67 KB
/
backend-socket-deploy .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
name: Backend Socket Server Deploy
on:
push:
branches: [main]
jobs:
docker-build-push:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend/socket
steps:
- name: repository의 파일을 가상 인스턴스로 복사합니다.
uses: actions/checkout@v3
- name: docker 관련 로직 처리를 위한 buildx를 설치합니다.
uses: docker/setup-buildx-action@v2
- name: docker hub에 로그인 합니다.
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_ID }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: docker 이미지를 build 및 push합니다.
uses: docker/build-push-action@v3
with:
context: ./backend/socket
push: true
tags: ${{ secrets.DOCKER_SOCKET_IMAGE }}:${{ secrets.VERSION }},${{ secrets.DOCKER_SOCKET_IMAGE }}:latest
cache-from: type=gha
cache-to: type=gha,mode=max
docker-run:
needs: docker-build-push
runs-on: ubuntu-latest
steps:
- name: 배포 서버에서 docker image를 받아서 container를 실행시킵니다.
uses: appleboy/ssh-action@master
with:
username: ${{ secrets.SOCKET_SERVER_USER }}
password: ${{ secrets.SOCKET_SERVER_PWD }}
host: ${{ secrets.SOCKET_SERVER_HOST }}
port: ${{ secrets.SOCKET_SERVER_PORT }}
script: |
docker-compose down
docker pull ${{ secrets.DOCKER_SOCKET_IMAGE }}
docker rmi $(docker images -f "dangling=true" -q)
docker-compose up -d