name: Deploy im-webapp (k3s test cluster) on: workflow_dispatch: inputs: image_tag: description: '镜像tag,默认为 test(与集群 kustomization 里的 newTag 一致)' required: false jobs: deploy: runs-on: deploy-host steps: - uses: actions/checkout@v4 - name: 确定镜像tag id: vars run: | TAG="${{ github.event.inputs.image_tag }}" [ -z "$TAG" ] && TAG=test echo "tag=$TAG" >> "$GITHUB_OUTPUT" - name: 登录镜像仓库 run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.118im.com -u admin --password-stdin - name: 构建并推送镜像 run: | docker build \ --build-arg TINODE_API_KEY="${{ secrets.TINODE_API_KEY }}" \ -t git.118im.com/im_team/im-webapp:${{ steps.vars.outputs.tag }} . docker push git.118im.com/im_team/im-webapp:${{ steps.vars.outputs.tag }} - name: 部署到k3s测试集群 run: | mkdir -p ~/.kube echo "${{ secrets.KUBECONFIG }}" > ~/.kube/config chmod 600 ~/.kube/config kubectl rollout restart deployment/im-webapp -n im-webapp-system kubectl rollout status deployment/im-webapp -n im-webapp-system --timeout=120s