forked from actions/act_runner
This branch is 9 commits behind actions/act_runner:main
Loong Runner
Loong Runner 是基于 Gitea派生(fock)的act 的 二次派生 主要适用于当前龙架构的运行时。
上游的Gitea派生是可以直接在龙架构上编译使用的, 此派生仓库主要是解决上游的Docker是基于乌班图系统制作的, 目前龙架构暂无乌班图系统
- 当前计划使用
Debian
来代替乌班图用于构建容器镜像
安装
前提条件
在 Docker 模式下需要 Docker Engine Community
版本。要安装 Docker CE
,请遵循官方 安装说明。
下载预构建的二进制文件
访问 这里 仅提供龙架构版本。
从源码构建
make build
构建 Docker 容器镜像
make docker
快速入门
默认情况下,操作是禁用的,因此您需要在 Gitea 实例的配置文件中添加以下内容以启用它:
[actions]
ENABLED=true
注册
./loong_runner register
系统将提示您输入:
- Gitea 实例 URL,例如
http://192.168.8.8:3000/
。您应该使用您的 Gitea 实例的 ROOT_URL 作为实例参数,并且不应使用localhost
或127.0.0.1
作为实例 IP; - 运行器令牌,您可以从
http://192.168.8.8:3000/admin/actions/runners
获取; - 运行器名称,您可以留空;
- 运行器标签,您可以留空。
过程如下:
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 运行器注册成功。
您也可以使用命令行参数进行注册。
./loong_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive
如果注册成功,它将立即运行。下次,您可以直接运行运行器。
运行
./loong_runner daemon
使用 Docker 运行
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
生成一个示例配置文件。
./loong_runner generate-config > config.yaml
您可以使用 -c
/--config
参数指定配置文件路径。
./loong_runner -c config.yaml register # 使用配置文件注册
./loong_runner -c config.yaml daemon # 使用配置文件运行
您可以在 config.example.yaml 上在线查看配置文件的最新版本。
示例部署
查看 examples 目录中的示例部署类型。
Languages
Go
90.8%
Makefile
5.4%
Shell
2.6%
Dockerfile
1.2%