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/itfx.git cd itfx git pull origin master docker build -t interfaceforward_api:latest -f src/InterfaceForward.Api/Dockerfile . # 标记镜像 docker tag interfaceforward_api:latest registry.idwms.com/interfaceforward_api:latest # 推送镜像 docker push registry.idwms.com/interfaceforward_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.idwms.com/interfaceforward_api:latest itfx_interfaceforward_api # 一定要和service name一致