forked from actions/act_runner
111 lines
3.5 KiB
Markdown
111 lines
3.5 KiB
Markdown
# Loong Runner
|
|
|
|
Loong Runner 是基于 [Gitea派生(fock)的act](https://gitea.com/gitea/act) 的 [二次派生](https://git.whlug.cn/LoongArchActions/loong_runner) 主要适用于当前龙架构的运行时。
|
|
|
|
> 上游的Gitea派生是可以直接在龙架构上编译使用的, 此派生仓库主要是解决上游的Docker是基于乌班图系统制作的, 目前龙架构暂无乌班图系统
|
|
> * 当前计划使用`Debian`来代替乌班图用于构建容器镜像
|
|
|
|
|
|
## 安装
|
|
|
|
### 前提条件
|
|
|
|
在 Docker 模式下需要 `Docker Engine Community` 版本。要安装 `Docker CE`,请遵循官方 [安装说明](https://docs.docker.com/engine/install/)。
|
|
|
|
### 下载预构建的二进制文件
|
|
|
|
访问 [这里](https://git.whlug.cn/LoongArchActions/loong_runner) 仅提供龙架构版本。
|
|
|
|
### 从源码构建
|
|
|
|
```bash
|
|
make build
|
|
```
|
|
|
|
### 构建 Docker 容器镜像
|
|
|
|
```bash
|
|
make docker
|
|
```
|
|
|
|
## 快速入门
|
|
|
|
默认情况下,操作是禁用的,因此您需要在 Gitea 实例的配置文件中添加以下内容以启用它:
|
|
|
|
```ini
|
|
[actions]
|
|
ENABLED=true
|
|
```
|
|
|
|
### 注册
|
|
|
|
```bash
|
|
./loong_runner register
|
|
```
|
|
|
|
系统将提示您输入:
|
|
|
|
1. Gitea 实例 URL,例如 `http://192.168.8.8:3000/`。您应该使用您的 Gitea 实例的 ROOT_URL 作为实例参数,并且不应使用 `localhost` 或 `127.0.0.1` 作为实例 IP;
|
|
2. 运行器令牌,您可以从 `http://192.168.8.8:3000/admin/actions/runners` 获取;
|
|
3. 运行器名称,您可以留空;
|
|
4. 运行器标签,您可以留空。
|
|
|
|
过程如下:
|
|
|
|
```text
|
|
INFO 注册运行器,架构=loong64,操作系统=linux,版本=0.1.5。
|
|
WARN 运行器处于用户模式。
|
|
INFO 输入 Gitea 实例 URL(例如,https://gitea.com/):
|
|
http://192.168.8.8:3000/
|
|
INFO 输入运行器令牌:
|
|
fe884e8027dc292970d4e0303fe82b14xxxxxxxx
|
|
INFO 输入运行器名称(如果设置为空,则使用主机名:Test.local):
|
|
|
|
INFO 输入运行器标签,留空以使用默认标签(逗号分隔,例如,debian-latest:docker://docker.gitea.com/runner-images:latest)
|
|
|
|
INFO 注册运行器,名称=Test.local,实例=http://192.168.8.8:3000/,标签=[debian-latest:docker://docker.gitea.com/runner-images:latest debian-sid:docker://docker.gitea.com/runner-images:debian-sid anolisos-latest:docker://lcr.loongnix.cn/library/anolisos:latest]。
|
|
DEBU 成功 ping 到 Gitea 实例服务器
|
|
INFO 运行器注册成功。
|
|
```
|
|
|
|
您也可以使用命令行参数进行注册。
|
|
|
|
```bash
|
|
./loong_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive
|
|
```
|
|
|
|
如果注册成功,它将立即运行。下次,您可以直接运行运行器。
|
|
|
|
### 运行
|
|
|
|
```bash
|
|
./loong_runner daemon
|
|
```
|
|
|
|
### 使用 Docker 运行
|
|
|
|
```bash
|
|
docker run -e GITEA_INSTANCE_URL=https://your_gitea.com -e GITEA_RUNNER_REGISTRATION_TOKEN=<your_token> -v /var/run/docker.sock:/var/run/docker.sock --name my_runner gitea/loong_runner:nightly
|
|
```
|
|
|
|
### 配置
|
|
|
|
您还可以使用配置文件配置运行器。
|
|
配置文件是一个 YAML 文件,您可以使用 `./loong_runner generate-config` 生成一个示例配置文件。
|
|
|
|
```bash
|
|
./loong_runner generate-config > config.yaml
|
|
```
|
|
|
|
您可以使用 `-c`/`--config` 参数指定配置文件路径。
|
|
|
|
```bash
|
|
./loong_runner -c config.yaml register # 使用配置文件注册
|
|
./loong_runner -c config.yaml daemon # 使用配置文件运行
|
|
```
|
|
|
|
您可以在 [config.example.yaml](internal/pkg/config/config.example.yaml) 上在线查看配置文件的最新版本。
|
|
|
|
### 示例部署
|
|
|
|
查看 [examples](examples) 目录中的示例部署类型。 |