diff --git a/.gitea/workflows/build-push.yml b/.gitea/workflows/build-push.yml index 33aa397..54df033 100644 --- a/.gitea/workflows/build-push.yml +++ b/.gitea/workflows/build-push.yml @@ -1,21 +1,22 @@ name: Build and Push Edge Proxy Image on: - create: - tags: - - 'v*.*.*' + push: + branches: + - main # 1. 触发器:改为 push 到 'main' 分支时运行 + # (如果您的主分支叫 'master',请改为 'master') jobs: build-and-push: runs-on: arm-builder steps: - # 步骤 1: 手动检出代码 (使用 $GITEA_REF) + # 步骤 1: 手动检出代码 - name: Manual Checkout run: | set -e - echo "正在手动检出代码... (生产 Tag 模式 v2)" + echo "正在手动检出代码... (Main 分支模式)" REPO_DIR="repo" rm -rf $REPO_DIR @@ -24,31 +25,18 @@ jobs: HARDCODED_REPO_URL="http://192.168.0.75:3000/guanyuankai/bonus-edge-proxy" # ----------------- (关键变更) ----------------- - # 1. 改为检查更底层的 $GITEA_REF - echo "检查 Gitea 环境变量 (GITEA_REF)..." - if [ -z "$GITEA_REF" ]; then - echo "::error::GITEA_REF 环境变量未设置!" - echo "::error::此工作流应由一个 Tag 触发。" - exit 1 - fi - echo "GITEA_REF = $GITEA_REF" - - # 2. 从 $GITEA_REF (例如 "refs/tags/v1.1.3") 中提取 Tag 名称 - TAG_NAME=$(echo $GITEA_REF | sed 's|refs/tags/||') - - if [ -z "$TAG_NAME" ] || [ "$TAG_NAME" = "$GITEA_REF" ]; then - echo "::error::无法从 GITEA_REF ($GITEA_REF) 提取 Tag 名称" - exit 1 - fi - echo "提取的 Tag 名称 = $TAG_NAME" + # 2. 我们不再需要 Tag,我们总是检出 'main' 分支 + HARDCODED_BRANCH="main" + # (如果您的主分支叫 'master',请改为 'master') # ----------------- (变更结束) ----------------- + + echo "将要克隆的分支 = $HARDCODED_BRANCH" REPO_URL_AUTH=$(echo "$HARDCODED_REPO_URL" | sed "s|://|://${{ gitea.actor }}:${{ secrets.cicd }}@|") REPO_URL_WITH_CREDS="${REPO_URL_AUTH}.git" - # 3. 使用提取的 $TAG_NAME 检出代码 - echo "开始克隆 Tag: $TAG_NAME 到 $REPO_DIR 目录..." - git clone --quiet --branch $TAG_NAME $REPO_URL_WITH_CREDS $REPO_DIR + echo "开始克隆分支: $HARDCODED_BRANCH 到 $REPO_DIR 目录..." + git clone --quiet --branch $HARDCODED_BRANCH $REPO_URL_WITH_CREDS $REPO_DIR echo "代码检出成功。" @@ -57,39 +45,23 @@ jobs: run: | echo ${{ secrets.cicd }} | docker login http://192.168.0.75:3000 -u ${{ gitea.actor }} --password-stdin - # 步骤 3: 构建并推送镜像 (使用 $TAG_NAME) + # 步骤 3: 构建并推送镜像 - name: Build and Push Image run: | set -e cd repo - # 4. (关键) 我们需要重新定义 $TAG_NAME,因为 'run:' 步骤不共享 Shell 变量 - # (或者,我们可以再次执行提取操作) - - if [ -z "$GITEA_REF" ]; then - echo "::error::GITEA_REF 环境变量在步骤 3 中未找到!" - exit 1 - fi - - TAG_NAME=$(echo $GITEA_REF | sed 's|refs/tags/||') - VERSION=$(echo $TAG_NAME | sed 's/v//') - - if [ -z "$VERSION" ]; then - echo "::error::无法从 TAG_NAME ($TAG_NAME) 提取版本号" - exit 1 - fi - - IMAGE_PATH="192.168.0.75:3000/guanyuankai/bonus-edge-proxy:${VERSION}" + # ----------------- (关键变更) ----------------- + # 3. 我们不再需要版本号,我们只构建 'latest' LATEST_PATH="192.168.0.75:3000/guanyuankai/bonus-edge-proxy:latest" - - echo "Building and pushing $IMAGE_PATH..." - echo "Also pushing $LATEST_PATH..." + # ----------------- (变更结束) ----------------- + + echo "Building and pushing $LATEST_PATH..." docker buildx build \ --platform linux/arm64 \ --load \ - -t $IMAGE_PATH \ -t $LATEST_PATH \ -f docker/Dockerfile.prod . \ --push \ No newline at end of file