# 复制到 itfx: .github/workflows/deploy.yml # Secrets: SSH_HOST(42), SSH_USERNAME, SSH_PASSWORD # 集群: ./scripts/16-setup-kaniko.sh name: Build and Deploy on: push: branches: [master] env: GIT_URL: https://github.com/xiaoliutral/itfx.git DOCKERFILE: src/InterfaceForward.Api/Dockerfile IMAGE_NAME: interfaceforward_api DEPLOY_NAME: interfaceforward-api CONTAINER_NAME: interfaceforward-api TCR_REGISTRY: ccr.ccs.tencentyun.com TCR_NAMESPACE: ideship jobs: deploy: runs-on: ubuntu-latest steps: - name: Kaniko build + deploy uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.SSH_HOST }} username: ${{ secrets.SSH_USERNAME }} password: ${{ secrets.SSH_PASSWORD }} script: | set -e export KUBECONFIG=/etc/rancher/k3s/k3s.yaml cd /data/k3s TAG="${{ github.sha }}" IMG="${{ env.TCR_REGISTRY }}/${{ env.TCR_NAMESPACE }}/${{ env.IMAGE_NAME }}:${TAG}" ./scripts/ci-kaniko-build.sh \ "${{ env.GIT_URL }}" \ "${{ env.DOCKERFILE }}" \ "${{ env.IMAGE_NAME }}" \ "${TAG}" \ "${TAG}" kubectl -n prod set image "deploy/${{ env.DEPLOY_NAME }}" \ "${{ env.CONTAINER_NAME }}=${IMG}" kubectl -n prod rollout status "deploy/${{ env.DEPLOY_NAME }}" --timeout=180s