113 lines
4.6 KiB
Markdown
113 lines
4.6 KiB
Markdown
deploy_gitea_runner
|
|
=========
|
|
|
|
This role installs and configure a gitea act runner on **debian-based** distributions.
|
|
|
|
Requirements
|
|
------------
|
|
|
|
If `deploy_gitea_runner_deploy_method` is set to `docker`, this role assumes you have `docker`, `docker-compose` installed on the target hosts. The role will not install these components, but you can install them using the [install_docker](https://github.com/ednxzu/install_docker) role.
|
|
|
|
Role Variables
|
|
--------------
|
|
Available variables are listed below, along with default values. A sample file for the default values is available in `default/deploy_gitea_runner.yml.sample` in case you need it for any `group_vars` or `host_vars` configuration.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_version: latest # by default, set to latest
|
|
```
|
|
This variable defines the version that will be deployed to your host. In case you use `deploy_gitea_runner_deploy_method: host`, this has to match a release version on [gitea act runner repository](https://gitea.com/gitea/act_runner/releases). If using `deploy_gitea_runner_deploy_method: docker`, this has to match a tag on the [gitea act runner docker registry](https://hub.docker.com/r/gitea/act_runner/tags)
|
|
|
|
```yaml
|
|
deploy_gitea_runner_deploy_method: host # by default, set to host
|
|
```
|
|
This variable defines whether the gitea-runner should be deployed as a binary on the host, or as a docker container. This defaults to `host` but can also be `docker`.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_directory: /opt/gitea-actions # by default, set to /opt/gitea-actions
|
|
```
|
|
This variable defines where to store the files for the gitea-runner (config, potential docker-compose, etc...)
|
|
|
|
```yaml
|
|
deploy_gitea_runner_timezone: "Europe/Paris" # by default, set to Europe/Paris
|
|
```
|
|
This variable is only used for if `deploy_gitea_runner_deploy_method` is `docker`, to set the timezone inside the container.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_register: false # by default, set to false
|
|
```
|
|
This variable sets whether or not the role will register the runner against your gitea instance. It will only register if it cannot find the `.runner` file that is generated when registering, and if `deploy_gitea_runner_server_token` is not empty. If `deploy_gitea_runner_deploy_method` is `docker`, this has no impact, since the registration will be handle automatically when to container starts up, given that you have provided a valid URL and token (either via the role's variable, or manually after deploying).
|
|
|
|
```yaml
|
|
deploy_gitea_runner_start_service: false # by default, set to false
|
|
```
|
|
This variable sets whether to start the service immediately or not. In case you manually register the runner after deployment, this should be set to `false`.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_server_url: https://git.example.com # by default, set to https://git.example.com
|
|
```
|
|
This is the url of your gitea instance, and should be resolvable by the runner.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_server_token: "" # by default, set to an empty string
|
|
```
|
|
This is your gitea token. if it isn't set, you cannot run auto-registration. THIS IS A SENSITIVE VALUE, AND SHOULD NOT APPEAR IN CLEAR TEXT IN YOUR REPOSITORY.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_name: gitea-runner # by default, set to gitea-runner
|
|
```
|
|
This is the name under which the runner will register itself against your gitea server.
|
|
|
|
```yaml
|
|
deploy_gitea_runner_config: # by default, set to the following
|
|
log:
|
|
level: info
|
|
runner:
|
|
file: "{{ deploy_gitea_runner_directory }}/.runner" # this HAS TO BE .runner if deploy_gitea_runner_deploy_method is docker
|
|
capacity: 1
|
|
timeout: 3h
|
|
insecure: false
|
|
fetch_timeout: 5s
|
|
fetch_interval: 2s
|
|
labels: []
|
|
cache:
|
|
enabled: true
|
|
dir: "{{ deploy_gitea_runner_directory }}/cache" # this HAS TO BE /cache if deploy_gitea_runner_deploy_method is docker
|
|
host:
|
|
port: 0
|
|
external_server:
|
|
container:
|
|
network: ""
|
|
privileged: false
|
|
options:
|
|
workdir_parent:
|
|
valid_volumes: []
|
|
docker_host: ""
|
|
host:
|
|
workdir_parent:
|
|
```
|
|
This is the config file for gitea, put into a variable. The default values are from the default config.yaml generated when running `act_runner generate-config`. Some of the values, like `cache.dir` and `runner.file` have to be set to specific values in case you're running this role with `deploy_gitea_runner_deploy_method` set to `docker`. The rest is configurable according to the standard documentation.
|
|
|
|
Dependencies
|
|
------------
|
|
|
|
None.
|
|
|
|
Example Playbook
|
|
----------------
|
|
|
|
```yaml
|
|
# calling the role inside a playbook with either the default or group_vars/host_vars
|
|
- hosts: servers
|
|
roles:
|
|
- ednxzu.deploy_gitea_runner
|
|
```
|
|
|
|
License
|
|
-------
|
|
|
|
MIT / BSD
|
|
|
|
Author Information
|
|
------------------
|
|
|
|
This role was created by Bertrand Lanson in 2023. |