# Gitea Actions 门禁:与 docs/development/git-workflow.md 的本地门禁完全同一条命令。 # # 启用前提(服务器侧,一次性): # 1. Gitea ≥ 1.19 且管理端开启 Actions(app.ini: [actions] ENABLED=true, # 仓库 Settings → Actions 启用)。 # 2. 注册一个 act_runner,且 runner 所在主机具备: # - Docker(Testcontainers 需要,跑 postgres:18 一次性容器) # - 标签 ubuntu-latest 映射到含 bash/git 的镜像,或 host 模式执行 # 3. 服务器无法访问 github.com:actions/* 本体经 app.ini 的 # [actions].DEFAULT_ACTIONS_URL = https://gitea.com 拉取; # JDK 用 apt 安装(见下方步骤),不依赖 GitHub 下载二进制。 # # 未启用 Actions 时本文件无副作用。 name: CI on: push: branches: [dev] pull_request: # 同分支连推多个提交时,自动取消旧的排队/进行中 run,只跑最新 concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: backend-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # 不用 actions/setup-java:它从 github.com 下载 JDK 二进制, # 服务器无法访问 GitHub(实测 ETIMEDOUT)。改用 apt 装 OpenJDK 17, # 并优先切换到腾讯云镜像源(runner 在腾讯云,内网加速)。 - name: Install JDK 17 via apt run: | sed -i 's|http://archive.ubuntu.com|https://mirrors.cloud.tencent.com|g; s|http://security.ubuntu.com|https://mirrors.cloud.tencent.com|g' /etc/apt/sources.list 2>/dev/null || true sed -i 's|http://archive.ubuntu.com|https://mirrors.cloud.tencent.com|g; s|http://security.ubuntu.com|https://mirrors.cloud.tencent.com|g' /etc/apt/sources.list.d/*.sources 2>/dev/null || true apt-get update -qq apt-get install -y -qq --no-install-recommends openjdk-17-jdk-headless echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> "$GITHUB_ENV" java -version # 与本地门禁同一命令;BUILD SUCCESS 且 0 失败方可合入(git-workflow.md) - run: ./mvnw -B clean test