-
Notifications
You must be signed in to change notification settings - Fork 0
37 lines (34 loc) · 1.33 KB
/
build_and_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
name: Docker Image CI
on:
push:
tags: [ "*" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build Image
run: docker build -t ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}:${{ github.ref_name }} .
- name: Login to Registry # 登录阿里云镜像服务器
run: docker login --username=${{ secrets.ALI_DOCKER_HUB_USERNAME }} --password=${{ secrets.ALI_DOCKER_HUB_PASSWORD }} registry.cn-hangzhou.aliyuncs.com
- name: Push Image # 推送镜像,设置版本为 tag
run: docker push ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}:${{ github.ref_name }}
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_HOST_USERNAME }}
key: ${{ secrets.REMOTE_PRIVATE_KEY }}
port: ${{ secrets.REMOTE_HOST_PORT }}
script: |
cd ${{ secrets.REMOTE_WORK_DIR }}
git pull
docker login --username=${{ secrets.ALI_DOCKER_HUB_USERNAME }} --password=${{ secrets.ALI_DOCKER_HUB_PASSWORD }} registry.cn-hangzhou.aliyuncs.com
docker pull ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}:${{ github.ref_name }}
docker image prune
docker compose stop
docker compose up -d --build