51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

使用 Docker 部署 Gitea Actions 的 Runner

Act Runner 是一个 Gitea 运行器,通过自行部署,可以实现类似于 GitHub Actions 的运行器,且可以兼容 GitHub Actions 配置文件,目前杜老师说站点就是基于 Gitea 托管与自动部署。

工具简介 {#工具简介}

Gitea Actions 是一个类似 GitHub Actions 的自动化工作流工具,可以帮助开发者在代码仓库中实现各种自动化任务。Runner 则是负责执行这些工作流任务的代理端。

在实际应用中,使用 Docker 部署 Gitea Actions 的 Runner 具有诸多优势。

首先,Docker 提供一致的运行环境,消除了因系统配置差异而导致的潜在问题。

其次,它简化了部署过程,使得安装、配置更加便捷高效。

获取密钥 {#获取密钥}

登录到 Gitea 实例,转到存储仓库页面,点击页面上方设置,在左侧菜单选择 Actions,将在页面上看到 Runners 部分,后点击创建 Runner 按钮,将获得一个 REGISTRATION TOKEN,复制它并妥善保存:

准备工作 {#准备工作}

在完成准备工作后,可通过以下步骤创建 Docker 容器并配置 Runner。使用下面命令拉取所需的 Gitea Actions Runner 镜像:

|-----------|----------------------------------------------| | 1 | docker pull gitea/act_runner:nightly |

使用下面命令生成默认配置文件:

|-----------|--------------------------------------------------------------------------------------------------------------| | 1 | docker run --entrypoint="" --rm -it gitea/act_runner:latest act_runner generate-config > config.yaml |

将下面内容保存到 docker-compose.yml 文件中:

|------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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-compose.yml 文件中参数。${INSTANCE_URL}替换为实例的 URL,${REGISTRATION_TOKEN}替换为前面获得的 REGISTRATION TOKEN,${RUNNER_NAME}替换为 Runner 的名称,${RUNNER_LABELS}替换为 Runner 的标签「本机部署建议设置为 self-hosted」然后使用下面命令启动工具:

|-----------|------------------------------| | 1 | docker-compose up -d |

配置文件 {#配置文件}

下面是个简单实例,可将内容保存为 .gitea/workflows/demo.yaml,生效后即可在 Actions 页面中看到运行结果:

|-----------------------|-----------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 | name: Gitea Actions Demo on: [push] jobs: Explore-Gitea-Actions: runs-on: self-hosted steps: - run: echo dusays.com |

杜老师首次运行时,提示缓存配置错误,将下面内容保存到 config.yaml 文件中即可:

|-----------------|-------------------------------------------------------| | 1 2 3 4 | cache: enabled: false host: workdir_parent: / |

赞(2)
未经允许不得转载:工具盒子 » 使用 Docker 部署 Gitea Actions 的 Runner