feat(gitea): 添加 Dockerfile 模板和 Rust 支持,优化 runner 网络配置说明
- 新增 Go、Node.js、Rust 服务的 Dockerfile 模板 - 新增 Rust 快速参考指南 - 新增 Rust 后端工作流模板 - 优化 create-runner.md,明确 host 网络模式为缓存必需条件 - 更新 gitea skill 主文档
This commit is contained in:
@@ -7,6 +7,15 @@ agent: general
|
||||
|
||||
本文档提供了多种创建 Gitea Actions Runner 的方式,支持 Host 模式和 Docker 模式。
|
||||
|
||||
## ⚠️ 重要:网络模式要求
|
||||
|
||||
**两种模式都必须使用 host 网络模式,否则缓存功能无法正常工作!**
|
||||
|
||||
- **Docker 模式**:Runner 容器和 Job 容器都使用 host 网络
|
||||
- **Self-host 模式**:Job 进程直接在宿主机运行,使用 127.0.0.1
|
||||
|
||||
原因:Gitea Actions 的缓存服务运行在 runner 本地,job 容器需要通过网络访问 runner 的缓存端口。只有在 host 网络模式下,job 容器才能访问到 runner 的缓存服务。
|
||||
|
||||
## 📦 快速使用
|
||||
|
||||
### 方法一:直接执行(推荐)
|
||||
@@ -108,6 +117,7 @@ cache:
|
||||
host: "host.docker.internal"
|
||||
port: 9040
|
||||
container:
|
||||
# 【关键】必须使用 host 网络!否则 job 容器无法访问 runner 的缓存服务
|
||||
network: "host"
|
||||
privileged: false
|
||||
options:
|
||||
@@ -123,6 +133,7 @@ YAML
|
||||
# 注意:不要使用 node:16-bullseye 等纯运行时镜像,它们不包含 docker 命令
|
||||
local labels="ubuntu-latest:docker://catthehacker/ubuntu:act-latest,ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04,ubuntu-20.04:docker://catthehacker/ubuntu:act-20.04,linux:docker://catthehacker/ubuntu:act-latest"
|
||||
|
||||
# 必须使用 --network host!这样 job 容器才能访问 runner 的缓存服务
|
||||
docker run -d \
|
||||
--name "$name" \
|
||||
--restart always \
|
||||
@@ -178,6 +189,7 @@ runner:
|
||||
cache:
|
||||
enabled: true
|
||||
dir: "$runner_dir/cache"
|
||||
# Self-host 模式:job 进程直接在宿主机运行,使用 127.0.0.1 访问缓存
|
||||
host: "127.0.0.1"
|
||||
port: 0
|
||||
host:
|
||||
@@ -747,6 +759,7 @@ EOF
|
||||
|
||||
echo "启动 Docker 容器 (自动注册)..."
|
||||
|
||||
# 必须使用 --network host!这样 job 容器才能访问 runner 的缓存服务
|
||||
docker run -d \
|
||||
--name "$name" \
|
||||
--restart always \
|
||||
@@ -1074,7 +1087,7 @@ cache:
|
||||
host: "host.docker.internal"
|
||||
port: 9040
|
||||
container:
|
||||
# 使用 host 网络模式,确保 runner 和 job 容器共处一个网络,以便 cache 能够正常访问
|
||||
# 【关键】必须使用 host 网络!否则 job 容器无法访问 runner 的缓存服务
|
||||
network: "host"
|
||||
privileged: false
|
||||
options:
|
||||
@@ -1088,7 +1101,7 @@ EOF
|
||||
|
||||
echo "启动 Docker 容器 (自动注册)..."
|
||||
|
||||
# 使用 host 网络模式,确保 runner 和 job 容器共处一个网络,以便 cache 能够正常访问
|
||||
# 【关键】必须使用 --network host!否则 job 容器无法访问 runner 的缓存服务
|
||||
docker run -d \
|
||||
--name "$runner_name" \
|
||||
--restart always \
|
||||
|
||||
Reference in New Issue
Block a user