feat: 改用 Docker 模式运行 Gitea Actions
Some checks failed
Deploy BillAI / Deploy to Production (push) Failing after 26s
Some checks failed
Deploy BillAI / Deploy to Production (push) Failing after 26s
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
# BillAI 自动部署工作流
|
||||
# 当 master 分支有 push 时自动触发部署
|
||||
# 模式: Docker 模式 - Job 在 docker:latest 容器中执行
|
||||
|
||||
name: Deploy BillAI
|
||||
|
||||
@@ -12,6 +13,11 @@ jobs:
|
||||
deploy:
|
||||
name: Deploy to Production
|
||||
runs-on: self-hosted
|
||||
container:
|
||||
image: docker:latest
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${{ vars.DEPLOY_PATH }}:${{ vars.DEPLOY_PATH }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
run: |
|
||||
|
||||
@@ -13,7 +13,11 @@
|
||||
#
|
||||
# 4. 在 Gitea 仓库添加变量
|
||||
# 访问:https://git.fadinglight.cn/clz/billai/settings/actions/variables
|
||||
# 添加 DEPLOY_PATH = /你的项目路径
|
||||
# 添加 DEPLOY_PATH = /workspace/billai
|
||||
#
|
||||
# 模式说明:
|
||||
# 使用 Docker 模式,每个 Job 会在 docker:latest 容器中执行
|
||||
# 容器自带 docker CLI,通过挂载 docker.sock 控制宿主机的 Docker
|
||||
|
||||
services:
|
||||
runner:
|
||||
@@ -25,18 +29,14 @@ services:
|
||||
environment:
|
||||
GITEA_INSTANCE_URL: "https://git.fadinglight.cn"
|
||||
GITEA_RUNNER_NAME: "billai-runner"
|
||||
GITEA_RUNNER_LABELS: "self-hosted:host,ubuntu-latest:host"
|
||||
GITEA_RUNNER_LABELS: "self-hosted:docker://docker:latest,ubuntu-latest:docker://docker:latest"
|
||||
CONFIG_FILE: /config.yaml
|
||||
volumes:
|
||||
# Runner 配置文件
|
||||
- ./runner/config.yaml:/config.yaml
|
||||
# Runner 数据持久化
|
||||
- ./runner/data:/data
|
||||
# Docker socket - 用于在宿主机执行 docker 命令
|
||||
# Docker socket - Runner 通过它创建 Job 容器
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
# Docker 客户端 - 让容器内可以执行 docker 命令
|
||||
- /usr/bin/docker:/usr/bin/docker
|
||||
# Docker CLI 插件目录(包含 docker compose 插件)
|
||||
- /usr/libexec/docker/cli-plugins:/usr/libexec/docker/cli-plugins
|
||||
# 项目目录 - 用于执行部署脚本
|
||||
# 项目目录 - 挂载到 Runner 和 Job 容器都能访问的路径
|
||||
- .:/workspace/billai
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Gitea Actions Runner 配置
|
||||
# 文档: https://docs.gitea.com/usage/actions/act-runner
|
||||
# 模式: Docker 模式 - Job 在独立的 Docker 容器中执行
|
||||
|
||||
log:
|
||||
# 日志级别: debug, info, warn, error
|
||||
@@ -21,23 +22,23 @@ runner:
|
||||
# 任务容器拉取策略: always, if-not-present, never
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
# Runner 标签
|
||||
# Runner 标签 - 使用 Docker 模式,docker:latest 镜像自带 docker CLI
|
||||
labels:
|
||||
- "ubuntu-latest:host"
|
||||
- "self-hosted:host"
|
||||
- "ubuntu-latest:docker://docker:latest"
|
||||
- "self-hosted:docker://docker:latest"
|
||||
|
||||
container:
|
||||
# 容器网络模式
|
||||
network: "host"
|
||||
# 是否启用特权模式
|
||||
privileged: false
|
||||
# 容器选项
|
||||
options:
|
||||
# 容器启动选项 - 挂载 docker.sock 和项目目录
|
||||
options: "-v /var/run/docker.sock:/var/run/docker.sock"
|
||||
# 工作目录父路径
|
||||
workdir_parent:
|
||||
# 有效的卷挂载
|
||||
# 有效的卷挂载 - 允许挂载的目录
|
||||
valid_volumes:
|
||||
- /workspace/**
|
||||
- /**
|
||||
# Docker 主机
|
||||
docker_host: ""
|
||||
# 强制拉取镜像
|
||||
|
||||
Reference in New Issue
Block a user