2022-04-27 11:45:53 +02:00
# act runner
2023-03-22 07:48:35 +01:00
Act runner is a runner for Gitea based on [Gitea fork ](https://gitea.com/gitea/act ) of [act ](https://github.com/nektos/act ).
2022-10-07 14:59:02 +02:00
2023-03-14 06:39:12 +01:00
## Installation
### Prerequisites
2023-01-03 04:13:55 +01:00
2023-04-12 22:17:08 +02:00
Docker Engine Community version is required for docker mode. To install Docker CE, follow the official [install instructions ](https://docs.docker.com/engine/install/ ).
2023-01-03 04:13:55 +01:00
2023-03-14 06:39:12 +01:00
### Download pre-built binary
2023-05-04 03:36:31 +02:00
Visit [here ](https://dl.gitea.com/act_runner/ ) and download the right version for your platform.
2022-10-07 14:59:02 +02:00
2023-03-14 06:39:12 +01:00
### Build from source
2022-10-07 14:59:02 +02:00
2022-11-24 16:19:25 +01:00
```bash
2022-11-24 09:34:29 +01:00
make build
2022-10-07 14:59:02 +02:00
```
2022-11-24 09:34:29 +01:00
2023-04-12 22:17:08 +02:00
### Build a docker image
```bash
make docker
```
2023-03-14 06:39:12 +01:00
## Quickstart
2022-11-24 16:19:25 +01:00
### Register
2022-11-24 09:34:29 +01:00
2022-11-24 16:19:25 +01:00
```bash
2022-11-24 09:34:29 +01:00
./act_runner register
```
And you will be asked to input:
2022-11-24 17:40:00 +01:00
1. Gitea instance URL, like `http://192.168.8.8:3000/` . You should use your gitea instance ROOT_URL as the instance argument
and you should not use `localhost` or `127.0.0.1` as instance IP;
2. Runner token, you can get it from `http://192.168.8.8:3000/admin/runners` ;
2022-11-24 09:34:29 +01:00
3. Runner name, you can just leave it blank;
4. Runner labels, you can just leave it blank.
The process looks like:
2022-11-24 16:19:25 +01:00
2022-11-24 09:34:29 +01:00
```text
INFO Registering runner, arch=amd64, os=darwin, version=0.1.5.
WARN Runner in user-mode.
INFO Enter the Gitea instance URL (for example, https://gitea.com/):
2022-11-24 17:40:00 +01:00
http://192.168.8.8:3000/
2022-11-24 09:34:29 +01:00
INFO Enter the runner token:
fe884e8027dc292970d4e0303fe82b14xxxxxxxx
2023-03-22 07:48:35 +01:00
INFO Enter the runner name (if set empty, use hostname: Test.local):
2022-11-24 09:34:29 +01:00
2023-03-23 13:48:33 +01:00
INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster,linux_arm:host):
2022-11-24 09:34:29 +01:00
2022-11-24 17:40:00 +01:00
INFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[ubuntu-latest:docker://node:16-bullseye ubuntu-22.04:docker://node:16-bullseye ubuntu-20.04:docker://node:16-bullseye ubuntu-18.04:docker://node:16-buster].
2022-11-24 09:34:29 +01:00
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.
```
2022-11-24 17:40:00 +01:00
You can also register with command line arguments.
```bash
./act_runner register --instance http://192.168.8.8:3000 --token < my_runner_token > --no-interactive
```
If the registry succeed, it will run immediately. Next time, you could run the runner directly.
2022-11-24 16:19:25 +01:00
### Run
2022-11-24 09:34:29 +01:00
2022-11-24 16:19:25 +01:00
```bash
2022-11-24 09:34:29 +01:00
./act_runner daemon
2023-03-14 06:39:12 +01:00
```
2023-04-02 16:41:48 +02:00
2023-07-12 03:43:26 +02:00
### Run with 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/act_runner:nightly
```
2023-04-02 16:41:48 +02:00
### Configuration
You can also configure the runner with a configuration file.
The configuration file is a YAML file, you can generate a sample configuration file with `./act_runner generate-config` .
```bash
./act_runner generate-config > config.yaml
```
You can specify the configuration file path with `-c` /`--config` argument.
```bash
./act_runner -c config.yaml register # register with config file
2023-05-11 08:25:39 +02:00
./act_runner -c config.yaml daemon # run with config file
2023-04-02 16:41:48 +02:00
```
2023-04-12 22:17:08 +02:00
2023-06-05 10:46:15 +02:00
### Example Deployments
2023-04-12 22:17:08 +02:00
2023-06-05 10:46:15 +02:00
Check out the [examples ](examples ) directory for sample deployment types.