Git

自用 VPS 配置 github action self-hosted runner

JACIN··1 分钟阅读

结构说明#

设计如下的结构:

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

评论

还没有评论,来发第一个吧