Semaphore Runner 主机
Semaphore Runner 是与 Semaphore UI 注册的独立作业代理,在 web 控制台之外执行分配的 playbooks。
- 一键 部署
- 15 GB 所需磁盘空间
- 1 GB 内存 所需内存
- 来自 2 € 价格
您在 AvaHost 上获得的服务
一键部署、自定义域名、免费HTTPS、自动应用更新和定期备份是每个云应用的标准配置。您可以在一台服务器上运行多个应用,并且包括终端访问。
此模板不包含数据库容器。

技术
- Docker 镜像
- semaphoreui/runner:latest
- 默认端口
- 0

Semaphore Runner 的工作原理
Semaphore Runner 不是网站的第二份副本。semaphoreui 文档描述了一个在另一台服务器上启动的流程。它连接到 Semaphore UI,标记自己为就绪状态,接收任务,克隆任务指定的仓库,并运行 Ansible、Terraform、PowerShell 或类似的作业。结果返回到服务器。Docker 镜像是 semaphoreui/runner。注册使用来自服务器的令牌,可以在 UI 中创建,或在服务器配置了注册令牌时使用 runner register 命令创建。
Runner 内部没有数据库。它将令牌存储在包装器文档中指定的 data 或 temp 路径下的文件中。它需要一个可以打开的 URL 来访问你的 Semaphore UI,在任何你实际信任的设置中都应使用 HTTPS。额外的 Python 依赖可以在启动时从挂载到配置目录的 requirements 文件安装,这与服务器镜像的模式相同。
Semaphore Runner 的主要功能
一个 Semaphore 服务器可以有多个 runner,任务分散到空闲的 runner 中执行。这就是你如何在保持 playbook 在闭合网络内的同时,让 UI 运行在公网主机名上。runner 可以限制它一次接受的任务数量。这些配置在 runner 配置中,而不是在营销页面上。该应用附带的图标与 Semaphore UI 图标文件逐字节匹配,因为项目共享一个标记。两个部署仍然是不同的容器。
AvaHost 会自动更新 runner 容器,并可以按计划备份小的令牌文件。它无法备份存储在 Semaphore UI 中的清单,也不知道你指向作业的私有网络的内容。应用邮件不包含在 Semaphore Runner 中。

自托管 Semaphore Runner:要求和成本
基线配置为 1024 MB RAM 和 1 个 CPU 核心,镜像为 semaphoreui/runner,无数据库。编译或复制大型工件的 playbook 可能需要 runner 上的磁盘空间比 UI 需要的更多。在 AvaHost 上,Semaphore Runner 的推荐最低配置为 Plan 1,价格为 €2。该套餐包括一键部署、自动更新和 runner 自身文件的定期备份。它不包括公网网站、专用 IP 或 Semaphore 服务器。将其指向你已经运行的 Semaphore URL。
谁使用 Semaphore Runner
仅在你已经可以登录的 Semaphore UI 旁边使用此包。典型用户是拒绝让 web 服务器接触生产网络的团队,或者想要在一个 runner 繁忙时拥有第二个执行主机的团队。如果你没有 Semaphore 服务器,此容器无处注册,也没有页面向访问者显示。先订购 Semaphore UI,或跳过此应用。
F.A.Q
Semaphore Runner 在计划 1 上起价 €2。您支付的是代理容器及其令牌文件,而不是 Semaphore UI,也不是剧本更改的机器。繁重的编译作业或大型检出可能需要比此最低配置更多的 RAM 或磁盘。如果 Semaphore 服务器也在 AvaHost 上,它是独立的应用程序和独立的计划。
不是。此套餐上没有访问者 UI。该流程会打开到您配置的 Semaphore 服务器 URL 的出站连接,并等待任务。将主机名和证书放在 Semaphore UI 上。运行器只需要能够访问该 URL 并保持其注册令牌。
AvaHost 会自动更新运行器并按计划备份其本地文件,包括令牌文件。项目、清单和任务历史记录存储在 Semaphore 服务器上,请在那里备份这些内容。更新后,确认运行器仍显示为就绪状态,并在生产工作前完成一个无害任务。
不是。上游注册需要一个 Semaphore 服务器地址和令牌。此目录单独列出运行器,以便您可以将执行放在另一个 VPS 上,而不是用它来替换控制台。如果服务器宕机或令牌错误,容器将没有工作要做,也没有页面来解释这一点。

