mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 21:35:35 +03:00
Docs about how to generate config for act runner with docker and setup it with docker-compose (#25256) (#25296)
Backport #25256 by @thezzisu In this pull request, the following changes are addressed: - State user should create `config.yaml` before start container to avoid errors. - Provided instructions to deploy runners using docker compose. Co-authored-by: Zisu Zhang <thezzisu@gmail.com>
This commit is contained in:
parent
783f7ccb2c
commit
99d71b2b65
2 changed files with 54 additions and 0 deletions
|
@ -76,6 +76,12 @@ The default configuration is safe to use without any modification, so you can ju
|
||||||
./act_runner --config config.yaml [command]
|
./act_runner --config config.yaml [command]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You could also generate config file with docker:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --entrypoint="" --rm -it gitea/act_runner:latest act_runner generate-config > config.yaml
|
||||||
|
```
|
||||||
|
|
||||||
When you are using the docker image, you can specify the configuration file by using the `CONFIG_FILE` environment variable. Make sure that the file is mounted into the container as a volume:
|
When you are using the docker image, you can specify the configuration file by using the `CONFIG_FILE` environment variable. Make sure that the file is mounted into the container as a volume:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -172,6 +178,27 @@ It is because the act runner will run jobs in docker containers, so it needs to
|
||||||
As mentioned, you can remove it if you want to run jobs in the host directly.
|
As mentioned, you can remove it if you want to run jobs in the host directly.
|
||||||
To be clear, the "host" actually means the container which is running the act runner now, instead of the host machine.
|
To be clear, the "host" actually means the container which is running the act runner now, instead of the host machine.
|
||||||
|
|
||||||
|
### Set up the runner using docker compose
|
||||||
|
|
||||||
|
You could also set up the runner using the following `docker-compose.yml`:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
runner:
|
||||||
|
image: gitea/act_runner:nightly
|
||||||
|
environment:
|
||||||
|
CONFIG_FILE: /config.yaml
|
||||||
|
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
|
||||||
|
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
|
||||||
|
GITEA_RUNNER_LABELS: "${RUNNER_LABELS}"
|
||||||
|
volumes:
|
||||||
|
- ./config.yaml:/config.yaml
|
||||||
|
- ./data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
```
|
||||||
|
|
||||||
### Configuring cache when starting a Runner using docker image
|
### Configuring cache when starting a Runner using docker image
|
||||||
|
|
||||||
If you do not intend to use `actions/cache` in workflow, you can ignore this section.
|
If you do not intend to use `actions/cache` in workflow, you can ignore this section.
|
||||||
|
|
|
@ -76,6 +76,12 @@ docker pull gitea/act_runner:nightly # for the latest nightly build
|
||||||
./act_runner --config config.yaml [command]
|
./act_runner --config config.yaml [command]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
您亦可以如下使用 docker 创建配置文件:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --entrypoint="" --rm -it gitea/act_runner:latest act_runner generate-config > config.yaml
|
||||||
|
```
|
||||||
|
|
||||||
当使用Docker镜像时,可以使用`CONFIG_FILE`环境变量指定配置文件。确保将文件作为卷挂载到容器中:
|
当使用Docker镜像时,可以使用`CONFIG_FILE`环境变量指定配置文件。确保将文件作为卷挂载到容器中:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -169,6 +175,27 @@ docker run \
|
||||||
如前所述,如果要在主机上直接运行Job,可以将其移除。
|
如前所述,如果要在主机上直接运行Job,可以将其移除。
|
||||||
需要明确的是,这里的 "主机" 实际上指的是当前运行 Act Runner的容器,而不是主机机器本身。
|
需要明确的是,这里的 "主机" 实际上指的是当前运行 Act Runner的容器,而不是主机机器本身。
|
||||||
|
|
||||||
|
### 使用 Docker compose 运行 Runner
|
||||||
|
|
||||||
|
您亦可使用如下的 `docker-compose.yml`:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
runner:
|
||||||
|
image: gitea/act_runner:nightly
|
||||||
|
environment:
|
||||||
|
CONFIG_FILE: /config.yaml
|
||||||
|
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
|
||||||
|
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
|
||||||
|
GITEA_RUNNER_LABELS: "${RUNNER_LABELS}"
|
||||||
|
volumes:
|
||||||
|
- ./config.yaml:/config.yaml
|
||||||
|
- ./data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
```
|
||||||
|
|
||||||
### 当您使用 Docker 镜像启动 Runner,如何配置 Cache
|
### 当您使用 Docker 镜像启动 Runner,如何配置 Cache
|
||||||
|
|
||||||
如果你不打算在工作流中使用 `actions/cache`,你可以忽略本段。
|
如果你不打算在工作流中使用 `actions/cache`,你可以忽略本段。
|
||||||
|
|
Loading…
Reference in a new issue