diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 4e0db8a..5e67507 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -92,7 +92,13 @@ jobs: - name: 📥 下载代码 uses: actions/checkout@v4 - - name: 🔧 确保 Docker CLI 可用并安装 Go 环境 + - name: Set up Go environment # 在 build job 中也设置 Go 环境 + uses: actions/setup-go@v2 + with: + go-version: '1.24.0' # 确保使用 go.mod 中指定的精确版本 + # cache: true # 可以启用缓存加速依赖下载 + + - name: 🔧 确保 Docker CLI 可用并初始化 Go Modules run: | set -e export DEBIAN_FRONTEND=noninteractive @@ -112,42 +118,12 @@ jobs: echo "Docker CLI 版本: $(docker --version)" echo "Test Docker connectivity: $(docker info --format '{{.ServerVersion}}') (Server)" - # 同步 Go 环境设置, 因为整个 job 都在容器中运行了,Go 也要重新设置 - apt-get install -y git golang-go # 安装 Go - go version + # 移除手动 Go 安装,已由 actions/setup-go 处理 + # go version # 已经通过 actions/setup-go 设置 go env -w GOPROXY=https://goproxy.cn,direct # 设置 Go Proxy - go mod download + go mod download # 确保所有模块已下载 - - name: Run linter - run: make lint - - # 移除了原有的 "Set up Node.js environment" 步骤 (已在容器 image 中) - # 移除了原有的 "Download Go modules dependencies" 步骤 (已合并到 Docker CLI 安装步骤) - - - name: 📤 构建并推送 ${{ matrix.service.name }} - run: | - DOCKER_TAG="${{ needs.prepare.outputs.docker_tag }}" - IMAGE_BASE="${{ env.REPO }}/${{ matrix.service.image_name }}" - - echo "构建服务: ${{ matrix.service.name }}" - echo "镜像: ${IMAGE_BASE}" - echo "标签: ${DOCKER_TAG} | ${{ env.VERSION }}" - - docker build \ - -f ${{ matrix.service.dockerfile }} \ - --platform linux/amd64 \ - --build-arg VERSION=${{ env.VERSION }} \ - --build-arg BUILDTIME=${{ env.BUILDTIME }} \ - -t ${IMAGE_BASE}:${{ env.VERSION }} \ - -t ${IMAGE_BASE}:${DOCKER_TAG} \ - . - - docker push ${IMAGE_BASE}:${{ env.VERSION }} - docker push ${IMAGE_BASE}:${DOCKER_TAG} - - echo "✅ ${{ matrix.service.name }} 镜像推送完成" - # ============================================================ # Job 3: 部署到服务器 # ============================================================