content: add entry on Forgejo runners
This commit is contained in:
parent
6b0ea36fd3
commit
5b44022f99
1 changed files with 84 additions and 0 deletions
84
zk/Configuring_Forgejo_runners.md
Normal file
84
zk/Configuring_Forgejo_runners.md
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
---
|
||||||
|
tags:
|
||||||
|
- git
|
||||||
|
- forgejo
|
||||||
|
- servers
|
||||||
|
---
|
||||||
|
|
||||||
|
https://forgejo.systemsobscure.net/admin/actions/runners/
|
||||||
|
|
||||||
|
# Configuring Forgejo runners
|
||||||
|
|
||||||
|
When you create a Forgejo Action, this alone is not sufficient for the Action to
|
||||||
|
run. You also have to configure a runner for an installation or a specific repo.
|
||||||
|
The is a Docker container which does the actual computation.
|
||||||
|
|
||||||
|
## Installing `forgejo-runner`
|
||||||
|
|
||||||
|
Before you can set up a specific runner for a repo, you need to install the
|
||||||
|
`forgejo-runner` software initially.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wget -O forgejo-runner https://code.forgejo.org/forgejo/runner/releases/download/v9.0.3/forgejo-runner-9.0.3-linux-amd64
|
||||||
|
chmod +x forgejo-runner
|
||||||
|
```
|
||||||
|
|
||||||
|
You then need to create a user for the runner that will use Docker.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
useradd --create-home runner
|
||||||
|
usermod -aG docker runner
|
||||||
|
```
|
||||||
|
|
||||||
|
Start the service or create a `systemd` service so it always starts on reboot.
|
||||||
|
|
||||||
|
> My `systemd` service file is saved at
|
||||||
|
> /etc/systemd/system/forgejo-runner.service
|
||||||
|
|
||||||
|
```sh
|
||||||
|
forgejo runner-daemon
|
||||||
|
```
|
||||||
|
|
||||||
|
## Creating a runner for your repos
|
||||||
|
|
||||||
|
There is a CLI tool to assist:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
forgejo-runner register
|
||||||
|
```
|
||||||
|
|
||||||
|
Example inputs:
|
||||||
|
|
||||||
|
```
|
||||||
|
INFO Registering runner, arch=amd64, os=linux, version=v9.0.3.
|
||||||
|
WARN Runner in user-mode.
|
||||||
|
INFO Enter the Forgejo instance URL (for example, https://next.forgejo.org/):
|
||||||
|
https://forgejo.systemsobscure.net
|
||||||
|
INFO Enter the runner token:
|
||||||
|
redacted
|
||||||
|
INFO Enter the runner name (if set empty, use hostname: self-host-server):
|
||||||
|
self-host-server
|
||||||
|
INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-20.04:docker://node:20-bookworm,ubuntu-18.04:docker://node:20-bookworm):
|
||||||
|
ubuntu-latest
|
||||||
|
INFO Registering runner, name=sysobs-forgejo-runner, instance=https://forgejo.systemsobscure.net, labels=[ubuntu-20.04:docker://node:20-bookworm].
|
||||||
|
DEBU Successfully pinged the Forgejo instance server
|
||||||
|
INFO Runner registered successfully.
|
||||||
|
```
|
||||||
|
|
||||||
|
Get the runner token from "Site Settings" > "Actions" > "Runners".
|
||||||
|
|
||||||
|
The OS image (`ubuntu-latest`) should be sufficient for most of my operations. I
|
||||||
|
can then add specific software as containers within the individual action files,
|
||||||
|
e.g.:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
name: Deploy Blog
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:18
|
||||||
|
steps: ...
|
||||||
|
```
|
Loading…
Add table
Reference in a new issue