server/.gitea/workflows/docker.yml
shanshanzhong 62f07b7f6b ci(docker): 移除构建应用的步骤并修复docker-compose命令
移除docker.yml中冗余的go mod tidy和build-linux步骤,这些步骤已在其他流程中处理
将docker compose命令改为docker-compose以兼容旧版本
2025-08-05 09:46:27 -07:00

75 lines
2.0 KiB
YAML

name: Build docker and publish
run-name: The pipeline for docker build
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
# Docker
REPO: ${{ vars.REPO }}
# Gitea
GIT_USERNAME: ${{ vars.GIT_USERNAME }}
GIT_PASSWORD: ${{ vars.GIT_PASSWORD }}
DOMAIN: ${{ vars.DOMAIN_OF_GITEA }}
# Host SSH
SSH_HOST: ${{ vars.SSH_HOST }}
SSH_PORT: ${{ vars.SSH_PORT }}
SSH_USER: ${{ vars.SSH_USER }}
SSH_PASSWORD: ${{ vars.SSH_PASSWORD }}
jobs:
linux:
runs-on: vpn
container:
image: golang:1.24-alpine
env:
GOARCH: amd64
strategy:
matrix:
go: ["1.24.3"]
steps:
- name: Install dependencies
run: |
apk add --no-cache git make docker-cli curl bash
- name: Checkout code
run: |
echo "Setting up git credentials..."
git config --global credential.helper store
echo "https://${GIT_USERNAME}:${GIT_PASSWORD}@${DOMAIN}" > ~/.git-credentials
echo "Cloning repository..."
git clone --depth 1 https://${DOMAIN}/${{ github.repository }}.git .
echo "Fetching tags..."
git fetch --tags || true
echo "Repository cloned successfully"
- name: Setup Go environment
run: |
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE="${DOMAIN}"
go env -w GOSUMDB=off
git config --global url."https://${GIT_USERNAME}:${GIT_PASSWORD}@${DOMAIN}/".insteadOf "https://${DOMAIN}/"
- name: Build and push docker image
run: |
if [ -f "${{ github.workspace }}/deploy/.env" ]; then
source ${{ github.workspace }}/deploy/.env
fi
echo "Building Docker image..."
make docker
echo "Publishing Docker image..."
make publish-docker
echo "Starting Docker container..."
make docker-run