track/.github/workflows/main.yml
2026-02-04 14:42:50 +08:00

42 lines
1.3 KiB
YAML

name: CI/CD Pipeline
on:
push:
branches:
- master # 监视的分支
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build to Server
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.SSH_BUILD_HOST }}
username: ${{ secrets.SSH_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
mkdir -p /data/projects
cd /data/projects
git clone git@github.com:xiaoliutral/tracks.git
cd tracks
git pull origin master
docker build -t track_api:latest -f src/TrackCenter.Api/Dockerfile .
# 标记镜像
docker tag track_api:latest registry.nanafa.com/track_api:latest
# 推送镜像
docker push registry.nanafa.com/track_api:latest
- name: Deploy to Server
uses: appleboy/ssh-action@v0.1.5
with:
host: ${{ secrets.SSH_MANAGER_HOST }}
username: ${{ secrets.SSH_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
script: |
cd /data
docker stack deploy -c api.yml api # yml没变化不会更新
docker service update --force --image registry.nanafa.com/track_api:latest api_track # 一定要和service name一致