diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml new file mode 100644 index 0000000..84a5b0f --- /dev/null +++ b/.github/workflows/master.yml @@ -0,0 +1,41 @@ +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/SimpleAdmin.Api.git + cd SimpleAdmin.Api + git pull 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: | + cd /data + docker stack deploy -c api.yml api # yml没变化不会更新 + docker service update --force --image registry.nanafa.com/admin_api:latest api_admin # 一定要和service name一致