结构说明#
设计如下的结构:
text
/root/github-runners/ <-- 总目录
├── package/ <-- 仓库:只存放下载的压缩包
│ └── actions-runner.tar.gz
│
├── go-react-prod/ <-- 车间1:你的第一个项目
│ ├── config.sh
│ └── ... (运行服务)
│
└── new-api/ <-- 车间2:你未来的第二个项目
├── config.sh
└── ... (运行服务)
中心包管理#
建立中心
text
# 1. 创建目录结构
mkdir -p /root/github-runners/package
# 2. 进入仓库目录
cd /root/github-runners/package
# 3. 下载安装包 (这是唯一一次下载)
curl -o actions-runner.tar.gz -L https://github.com/actions/runner/releases/download/v2.330.0/actions-runner-linux-x64-2.330.0.tar.gz
# 4. 确认一下文件在不在
ls -lh actions-runner.tar.gz
项目配置#
建设“一号车间” (go-react-prod)
text
# 1. 创建项目专属文件夹
mkdir -p /root/github-runners/go-react-prod
# 2. 进入这个文件夹
cd /root/github-runners/go-react-prod
# 3. 解压安装包 (直接从隔壁 package 目录解压,不需要重新下载)
tar xzf /root/github-runners/package/actions-runner.tar.gz
Root,必须加环境变量才能配置。
text
# 1. 开启 Root 允许模式 (必须!)
export RUNNER_ALLOW_RUNASROOT=1
# 2. 运行配置脚本
# ⚠️ 注意:如果刚才那个 Token 过期了,请去 GitHub 网页重新复制一个新的
./config.sh --url
安装系统服务 (让它永久后台运行)
不要跑 ./run.sh,直接装服务。
text
# 1. 安装服务 (它是 root 用户,所以是 user=root)
./svc.sh install root
# 2. 启动服务
./svc.sh start
# 3. 检查状态
./svc.sh status
当你下次想加 new-api 项目时,只需要重复第二步和第三步即可
text
# 1. 建目录
mkdir -p /root/github-runners/new-api && cd /root/github-runners/new-api
# 2. 解压 (复用包)
tar xzf /root/github-runners/package/actions-runner.tar.gz
# 3. 配置 (用新 Token)
export RUNNER_ALLOW_RUNASROOT=1
./config.sh --url https://github.com/jacinli/new-api --token <新TOKEN>
# 4. 启动
./svc.sh install root
./svc.sh start
这样就可以了
text
runs-on: self-hosted
评论
还没有评论,来发第一个吧