49 lines
1.6 KiB
YAML
49 lines
1.6 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_stop: true
|
|
script: |
|
|
set -e
|
|
mkdir -p /data/projects
|
|
cd /data/projects
|
|
if [ ! -d SimpleAdmin.Api/.git ]; then
|
|
git clone git@github.com:xiaoliutral/SimpleAdmin.Api.git
|
|
fi
|
|
cd SimpleAdmin.Api
|
|
git fetch origin master
|
|
git checkout master
|
|
git reset --hard origin/master
|
|
docker build -t admin_api:latest -f src/SimpleAdmin.Api/Dockerfile .
|
|
docker tag admin_api:latest registry.nanafa.com/admin_api:latest
|
|
docker push registry.nanafa.com/admin_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_stop: true
|
|
script: |
|
|
set -e
|
|
cd /data
|
|
docker pull registry.nanafa.com/admin_api:latest
|
|
docker stack deploy -c api.yml api # yml没变化不会更新
|
|
docker service update --force --image registry.nanafa.com/admin_api:latest api_admin # 一定要和service name一致
|