gitea开启runner及配置action
Gitea Actions 是 Gitea 中内置的自动化工作流程功能,类似于 GitHub Actions。它允许您在 Gitea 仓库中定义和执行各种任务,例如持续集成/持续交付(CI/CD)、自动化测试、代码分析等。通过使用 Actions,您可以自动化软件开发生命周期中的许多繁琐任务,提高开发效率和代码质量。
env
- gitea + act_runner
- docker
- synology-ds920+
doc
- https://docs.gitea.com/usage/actions/act-runner
- https://docs.gitea.com/usage/actions/quickstart
- https://gitea.cn/gitea/act_runner
1.download act_runner
- https://gitea.com/gitea/act_runner/releases
- https://dl.gitea.com/act_runner/
- https://dl.gitea.com/act_runner/0.2.11/
1.1act_runner-0.2.11-linux-amd64
root@mvpbang:~# act_runner --version
act_runner version v0.2.11
1.2act_runner help
root@mvpbang:~# ./act_runner --help
Run GitHub actions locally by specifying the event name (e.g. `push`) or an action name directly.
Usage:
act_runner [command]
Available Commands:
cache-server Start a cache server for the cache action
daemon Run as a runner daemon
exec Run workflow locally.
generate-config Generate an example config file
help Help about any command
register Register a runner to the server
Flags:
-c, --config string Config file path
-h, --help help for act_runner
-v, --version version for act_runner
Use "act_runner [command] --help" for more information about a command.
2.gitea enable runner
2.1 data/gitea/conf/app.ini
# enable action 追加如下配置
[actions]
ENABLED = true
2.2获取runner token
token层级:
Instance level The admin settings page, like
- <your_gitea.com>/admin/actions/runners
Organization level: The organization settings page, like
- <your_gitea.com>/
/settings/actions/runners.
- <your_gitea.com>/
Repository level: The repository settings page, like
- <your_gitea.com>/
/ /settings/actions/runners.
- <your_gitea.com>/
admin runner: http://ip:3000/-/admin/actions/runners
管理后台
runner -> 复制join token
3.register && run
baseurl: http://ip:13000/
token: EJ1b5mNTx7eakVnWjnTBuYcAySy3Huwxu9iwFnqt
3.1非交互式注册
root@mvpbang:~# act_runner register --no-interactive --instance http://192.168.3.222:13000 --token EJ1b5mNTx7eakVnWjnTBuYcAySy3Huwxu9iwFnqt
INFO Registering runner, arch=amd64, os=linux, version=v0.2.11.
INFO Runner name is empty, use hostname 'mvpbang'.
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.
3.2交互式注册(基于配置)
root@mvpbang:~# act_runner generate-config > config.yaml
root@mvpbang:~# act_runner --config .gitea/config.yaml register
INFO Registering runner, arch=amd64, os=linux, version=v0.2.11.
INFO Runner is already registered, overwrite local config? [y/N]
y
INFO Enter the Gitea instance URL (for example, https://gitea.com/):
http://192.168.3.222:13000/
INFO Enter the runner token:
EJ1b5mNTx7eakVnWjnTBuYcAySy3Huwxu9iwFnqt
INFO Enter the runner name (if set empty, use hostname: mvpbang):
INFO Registering runner, name=mvpbang, instance=http://192.168.3.222:13000/, labels=[ubuntu-latest:docker://gitea/runner-images:ubuntu-latest ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04 ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04].
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.
3.3运行runner damone
root@mvpbang:~# act_runner daemon --config .gitea/config.yaml
INFO[2025-02-05T14:01:04+08:00] Starting runner daemon
INFO[2025-02-05T14:01:04+08:00] runner: mvpbang, with version: v0.2.11, with labels: [ubuntu-latest ubuntu-22.04 ubuntu-20.04], declare successfully
注意:关闭terminl服务会自动关闭,假的damon …
基于nohup后台运行ruuner
root@mvpbang:~# nohup act_runner daemon --config .gitea/config.yaml >/dev/null 2>&1 &
[1] 11876
基于screen运行runner
root@mvpbang:~# screen
Cannot find termcap entry for 'xterm-256color'.
?
fix run screen:
TERM=xterm screen
act_runner daemon --config .gitea/config.yaml
4.create runner && testing
4.1新建action驱动文件
.gitea/workflows/demo.yaml
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: [push]
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."