From 06e188541f776b58051017201877eb30dd7b69b6 Mon Sep 17 00:00:00 2001 From: clkj <919284064@qq.com> Date: Mon, 15 Jun 2026 10:59:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20.gitea/workflows/test.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/test.yml | 43 +++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 79c7ea3..9f8eed3 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -4,38 +4,33 @@ on: push: branches: - main - # 新增:允许页面手动触发 workflow_dispatch: jobs: build-and-push: runs-on: ubuntu-latest steps: - - name: 检查代码 - uses: actions/checkout@v4 + # 替换 actions/checkout@v4:直接利用 Runner 容器自带的 git 命令克隆 + # Gitea 会自动注入环境变量 $GITEA_SERVER_URL, $GITEA_REPOSITORY, $GITEA_SHA + - name: 检查代码 (本地原生 Git) + run: | + git clone ${{ github.server_url }}/${{ github.repository }}.git . + git checkout ${{ github.sha }} - name: 生成短哈希版本号 id: vars run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - # 关键步骤:配置 Buildx 允许不安全的 HTTP 私有仓库 - - name: 设置 Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver-opts: | - image=moby/buildkit:master - config-inline: | - [registry."192.168.10.236:31051"] - http = true - insecure = true - - - name: 构建并推送镜像 - uses: docker/build-push-action@v5 - with: - context: . - file: ./Dockerfile - push: true - # 必须将镜像前缀改为你的私有仓库 IP 和端口 - tags: | - 192.168.10.236:31051/你的应用名:latest - 192.168.10.236:31051/你的应用名:${{ steps.vars.outputs.sha_short }} \ No newline at end of file + # 替换 docker/setup-buildx-action:在纯内网,如果 Runner 宿主机已经有常规 Docker, + # 可以直接使用本机的 docker build 命令,不再需要下载外网的 buildx action。 + - name: 构建并推送镜像 (本地 Docker) + run: | + # 允许本地 docker 引擎推送到不安全的 http 私有仓 + # 注意:确保运行运行此任务的机器 /etc/docker/daemon.json 中配置了 "insecure-registries": ["192.168.10.236:31051"] + + IMAGE_NAME="192.168.10.236:31051/你的应用名" + SHA_TAG="${{ steps.vars.outputs.sha_short }}" + + docker build -t ${IMAGE_NAME}:latest -t ${IMAGE_NAME}:${SHA_TAG} -f ./Dockerfile . + docker push ${IMAGE_NAME}:latest + docker push ${IMAGE_NAME}:${SHA_TAG} \ No newline at end of file