completed: cicd process

This commit is contained in:
GuanYuankai 2025-11-11 16:36:46 +08:00
parent f283286807
commit f73080a65e
1 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,78 @@
name: Build and Push Edge Proxy Image
on:
create:
tags:
- 'v*.*.*' # 1. 触发器已改回 Tag 模式
jobs:
build-and-push:
runs-on: arm64
steps:
# 步骤 1: 手动检出代码 (使用硬编码变量)
- name: Manual Checkout
run: |
set -e # 任何命令失败立即退出
echo "正在手动检出代码... (使用硬编码路径)"
REPO_DIR="repo"
rm -rf $REPO_DIR
mkdir $REPO_DIR
# --- 变量硬编码 ---
# 您的 Runner 未提供 $GITEA_REPOSITORY_URL 和 $GITEA_REF_NAME
# 我们在此处手动定义它们
HARDCODED_REPO_URL="http://192.168.0.75:3000/guanyuankai/bonus-edge-proxy"
HARDCODED_BRANCH="cicd-testing"
# --------------------
# 构造认证 URL
# 我们仍然假设 ${{ gitea.actor }} 和 ${{ secrets.cicd }} 会被 Runner 正确注入
REPO_URL_AUTH=$(echo "$HARDCODED_REPO_URL" | sed "s|://|://${{ gitea.actor }}:${{ secrets.cicd }}@|")
REPO_URL_WITH_CREDS="${REPO_URL_AUTH}.git"
echo "开始克隆分支 $HARDCODED_BRANCH 到 $REPO_DIR 目录..."
git clone --quiet --branch $HARDCODED_BRANCH $REPO_URL_WITH_CREDS $REPO_DIR
echo "代码检出成功。检查 './repo' 目录内容:"
ls -la $REPO_DIR
echo "---"
echo "确认 'docker' 目录存在于 './repo' 内部:"
ls -la $REPO_DIR/docker
echo "---"
# 步骤 2: 登录 Gitea 容器注册表
- name: Login to Gitea Container Registry
run: |
echo ${{ secrets.cicd }} | docker login http://192.168.0.75:3000 -u ${{ gitea.actor }} --password-stdin
# 步骤 3: 构建并推送镜像 (使用硬编码版本)
- name: Build and Push Image
run: |
set -e # 任何命令失败立即退出
echo "切换工作目录到 ./repo"
cd repo
echo "已成功切换目录。当前工作目录 (pwd):"
pwd
# --- 变量硬编码 ---
# 您的 Runner 未提供 $GITEA_REF_NAME因此我们也必须硬编码版本
VERSION="cicd-testing"
# --------------------
IMAGE_PATH="192.168.0.75:3000/guanyuankai/bonus-edge-proxy:${VERSION}"
LATEST_PATH="192.168.0.75:3000/guanyuankai/bonus-edge-proxy:latest"
echo "Building and pushing $IMAGE_PATH..."
docker buildx build \
--platform linux/arm64 \
--load \
-t $IMAGE_PATH \
-t $LATEST_PATH \
-f docker/Dockerfile.prod . \
--push