itfx/.github/workflows/master.yml
2026-09-02 17:53:33 +08:00

46 lines
1.4 KiB
YAML

# 复制到 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_K3S_HOST }}
username: ${{ secrets.SSH_K3S_HOST }}
password: ${{ secrets.SSH_K3S_HOST }}
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