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