diff --git a/.gitea/workflows/build-push.yml b/.gitea/workflows/build-push.yml index 1b97dbb..a1e011f 100644 --- a/.gitea/workflows/build-push.yml +++ b/.gitea/workflows/build-push.yml @@ -1,10 +1,15 @@ -# 步骤 1: 手动检出代码 (更新为克隆到 'repo' 子目录) +jobs: + build-and-push: + runs-on: arm64 + + steps: + # 步骤 1: 手动检出代码 - name: Manual Checkout - run: | + run: | + set -e + echo "正在手动检出代码..." - # 1. 创建一个干净的目录 - # 我们不再尝试清理 '..',而是克隆到一个新的子目录 REPO_DIR="repo" rm -rf $REPO_DIR mkdir $REPO_DIR @@ -15,11 +20,9 @@ exit 1 fi - # 2. 构造认证 URL REPO_URL_AUTH=$(echo "$GITEA_REPOSITORY_URL" | sed "s|://|://${GITEA_ACTOR}:${{ secrets.cicd }}@|") REPO_URL_WITH_CREDS="${REPO_URL_AUTH}.git" - # 3. 执行 Git Clone (克隆到 './repo' 目录) echo "开始克隆分支 $GITEA_REF_NAME 到 $REPO_DIR 目录..." git clone --quiet --branch $GITEA_REF_NAME $REPO_URL_WITH_CREDS $REPO_DIR @@ -30,25 +33,23 @@ ls -la $REPO_DIR/docker echo "---" - # 步骤 2: 登录 Gitea 容器注册表 (保持不变) + # 步骤 2: 登录 Gitea 容器注册表 - name: Login to Gitea Container Registry - run: | + run: | # <--- 修复:这里也必须有 '|' echo ${{ secrets.cicd }} | docker login http://192.168.0.75:3000 -u ${{ gitea.actor }} --password-stdin - # 步骤 3: 构建并推送镜像 (更新:增加了 cd repo) + # 步骤 3: 构建并推送镜像 - name: Build and Push Image - run: | - # ---------------------------------------------------- - # 关键修复:进入我们检出代码的 'repo' 目录 + run: | # <--- 修复:这里也必须有 '|' + set -e + echo "切换工作目录到 ./repo" cd repo - # 确认我们现在在正确的目录中 - echo "当前工作目录 (pwd):" + echo "已成功切换目录。当前工作目录 (pwd):" pwd echo "当前目录内容 (ls -la):" ls -la - # ---------------------------------------------------- VERSION=$(echo ${{ gitea.ref_name }} | sed 's/v//') IMAGE_PATH="192.168.0.75:3000/guanyuankai/bonus-edge-proxy:${VERSION}" @@ -56,8 +57,6 @@ echo "Building and pushing $IMAGE_PATH..." - # 这里的路径 -f docker/Dockerfile.prod . - # 现在是相对于 './repo' 目录的,这是正确的 docker buildx build \ --platform linux/arm64 \ -t $IMAGE_PATH \