fix(ci): push :dev tag for watchtower + fix staging deploy host to 116
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m32s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m47s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m58s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m4s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m20s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m39s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m10s
AI Code Review / AI Code Review (pull_request) Successful in 6m31s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m47s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m28s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m38s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 7s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 52s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 48h41m32s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 48h52m41s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 48h53m1s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 48h53m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 48h52m39s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 48h52m19s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 48h52m24s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 48h52m29s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 48h52m44s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 48h52m45s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 48h52m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 48h52m37s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 48h41m5s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 48h52m4s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 48h52m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 48h52m38s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m32s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m47s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m58s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m4s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m20s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m39s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m10s
AI Code Review / AI Code Review (pull_request) Successful in 6m31s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m47s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 11m28s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m38s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 7s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 52s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 48h41m32s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 48h52m41s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 48h53m1s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 48h53m11s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 48h52m39s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 48h52m19s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 48h52m24s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 48h52m29s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 48h52m44s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 48h52m45s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 48h52m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 48h52m37s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 48h41m9s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 48h41m5s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 48h52m4s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 48h52m9s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 48h52m38s
- build-staging: develop 分支额外推送 :dev tag(Watchtower 监听的滚动更新 tag), 同时保留原有的 :<branch> tag - deploy-staging: 默认 SSH 目标改为 127.0.0.1:22,适配 CI runner 已部署在 116 本机 (116 公网 22 端口未开放);secrets 可覆盖 - scripts/ci_staging_healthcheck.sh: 同步更新默认 STAGING_SSH_HOST/PORT - 不影响 production 路径
This commit is contained in:
@@ -1022,12 +1022,22 @@ jobs:
|
||||
BRANCH_TAG="${IMAGE_FULL}:${GITHUB_REF_NAME}"
|
||||
CACHE_REF="${REGISTRY}/${{ matrix.cache_name }}:${GITHUB_REF_NAME}"
|
||||
|
||||
# develop 分支额外推送 :dev tag(Watchtower 监听的滚动更新 tag)
|
||||
if [ "${GITHUB_REF_NAME}" = "develop" ]; then
|
||||
DEV_TAG="${IMAGE_FULL}:dev"
|
||||
EXTRA_TAGS="$BRANCH_TAG $DEV_TAG"
|
||||
PUSHED_TAGS_SUMMARY="${BRANCH_TAG} + ${DEV_TAG}"
|
||||
else
|
||||
EXTRA_TAGS="$BRANCH_TAG"
|
||||
PUSHED_TAGS_SUMMARY="${BRANCH_TAG}"
|
||||
fi
|
||||
|
||||
EXTRA_BUILD_ARGS="APP_VERSION=\"${GITHUB_SHA}\""
|
||||
|
||||
NO_CACHE_FLAG=""
|
||||
for i in 1 2 3; do
|
||||
echo "=== Docker build 尝试 $i/3 (${{ matrix.service_display }}) ==="
|
||||
if EXTRA_TAGS="$BRANCH_TAG" bash scripts/ci/docker_build_push.sh $NO_CACHE_FLAG ${{ matrix.dockerfile }} "${IMAGE_TAG}" "${CACHE_REF}" $EXTRA_BUILD_ARGS; then
|
||||
if EXTRA_TAGS="$EXTRA_TAGS" bash scripts/ci/docker_build_push.sh $NO_CACHE_FLAG ${{ matrix.dockerfile }} "${IMAGE_TAG}" "${CACHE_REF}" $EXTRA_BUILD_ARGS; then
|
||||
echo "✅ Docker build 成功"
|
||||
break
|
||||
fi
|
||||
@@ -1040,7 +1050,7 @@ jobs:
|
||||
fi
|
||||
done
|
||||
|
||||
echo "${{ matrix.service_display }} image pushed: ${IMAGE_TAG} (+ ${BRANCH_TAG})"
|
||||
echo "${{ matrix.service_display }} image pushed: ${IMAGE_TAG} (+ ${PUSHED_TAGS_SUMMARY})"
|
||||
|
||||
- name: Job duration summary
|
||||
if: always()
|
||||
@@ -1244,9 +1254,11 @@ jobs:
|
||||
ACR_PASSWORD: ${{ secrets.ACR_PASSWORD }}
|
||||
run: |
|
||||
set -eux
|
||||
staging_host="${STAGING_SSH_HOST:-47.98.113.167}"
|
||||
# CI runner (act_runner) 部署在 116 staging 本机(116.62.226.203 公网 22 未开放),
|
||||
# 默认走 127.0.0.1:22 本机 SSH,避免跨机网络依赖;可通过 secrets 覆盖。
|
||||
staging_host="${STAGING_SSH_HOST:-127.0.0.1}"
|
||||
staging_user="${STAGING_SSH_USER:-root}"
|
||||
staging_port="${STAGING_SSH_PORT:-22222}"
|
||||
staging_port="${STAGING_SSH_PORT:-22}"
|
||||
echo "Host: $staging_host"
|
||||
echo "Port: $staging_port"
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
# SKIP_NOTIFY - 跳过通知 (true/false, 默认 false)
|
||||
# CI_NOTIFY_WEBHOOK - 通知 Webhook URL
|
||||
#
|
||||
# STAGING_SSH_HOST - Staging 服务器 SSH 地址 (默认 47.98.113.167)
|
||||
# STAGING_SSH_HOST - Staging 服务器 SSH 地址 (默认 127.0.0.1,CI runner 在 staging 本机)
|
||||
# STAGING_SSH_USER - SSH 用户名 (默认 root)
|
||||
# STAGING_SSH_PORT - SSH 端口 (默认 22222)
|
||||
# STAGING_SSH_PORT - SSH 端口 (默认 22)
|
||||
# STAGING_SSH_KEY - SSH 私钥内容
|
||||
# REGISTRY_TOKEN - Registry Token(回滚时拉取旧镜像需要)
|
||||
#
|
||||
@@ -40,9 +40,9 @@ HEALTH_CHECK_TIMEOUT="${HEALTH_CHECK_TIMEOUT:-120}"
|
||||
SKIP_ROLLBACK="${SKIP_ROLLBACK:-false}"
|
||||
SKIP_NOTIFY="${SKIP_NOTIFY:-false}"
|
||||
|
||||
STAGING_SSH_HOST="${STAGING_SSH_HOST:-47.98.113.167}"
|
||||
STAGING_SSH_HOST="${STAGING_SSH_HOST:-127.0.0.1}"
|
||||
STAGING_SSH_USER="${STAGING_SSH_USER:-root}"
|
||||
STAGING_SSH_PORT="${STAGING_SSH_PORT:-22222}"
|
||||
STAGING_SSH_PORT="${STAGING_SSH_PORT:-22}"
|
||||
|
||||
REGISTRY="${REGISTRY:-git.xiaoxiajianji.com/xiaoxia/xiaoxia-saas}"
|
||||
REGISTRY_USER="${REGISTRY_USER:-xiaoxia}"
|
||||
|
||||
Reference in New Issue
Block a user