本地
直接在运行器主机上运行,使用该主机已安装的工具与依赖。
不同作业需要不同的网络访问、工具和容量。全部放在应用服务器上运行,就意味着共享相同的限制。
选择每个作业的执行位置,准备所需工具,并独立于 Semaphore 服务器增加执行能力。
创建项目运行器,设置名称并启用。可在此处添加标签,也可稍后更新。
在执行机器上安装 Semaphore,并使用生成的配置以运行器模式启动。确认运行器显示为 Online。
按位置、环境或工作负载为运行器添加标签。一个运行器可以具有多个标签。
将任务模板的 Runner tag 设置为匹配值。新任务会等待带有该标签的在线运行器。
运行器决定作业在哪里运行,其执行器则决定作业使用主机环境还是在容器中启动。
直接在运行器主机上运行,使用该主机已安装的工具与依赖。
在 Pro 中,可在容器内执行作业,并为每个任务模板选择执行器镜像。
在 Enterprise 中,可在 Kubernetes Pod 内使用所需镜像和依赖项执行作业。
在目标所在的区域或网络中运行自动化。运行器可以提供私有子网访问、缩短与受管系统的距离,或为某个团队提供专用执行能力。网络位置、运行器标签和执行器分别解决这项配置中的不同问题。
运行器主动连接并轮询 Semaphore 服务器,服务器无需向运行器发起入站连接。这适用于 NAT 后方的站点或私有子网,前提是运行器可以访问 Semaphore,以及任务所需的目标和来源。
全局运行器可跨项目使用,项目运行器则属于单个项目。受支持的标签将模板要求与运行器能力或位置关联。默认运行器设置适用于没有标签要求的任务。如果没有合适的运行器,任务可能继续等待,而不会悄然在其他位置执行。
本地执行在运行器主机的进程上下文中运行,并使用其权限。受支持的 Docker 和 Kubernetes 执行器引入容器或 Pod 边界,并有各自的配置和版本方案要求。实际边界取决于挂载、网络、权限和镜像,仅有“运行器”这一名称并不保证隔离。
添加运行器可以提升执行能力或网络覆盖,而不必让所有任务都在 Web 应用主机上运行。并行任务设置和轮询会影响运行特征。更高级的一次性运行模式可以结合注册、分配钩子,以及完成任务后退出的运行器,但需要部署自动化来管理这一生命周期。
如果安装需要在封闭网络内运行,请使用 Enterprise 离线许可证。将 Semaphore 与运行器保留在该环境中,并在无公共网络访问的情况下提供作业所需的 Git 仓库、执行器镜像和工具依赖。
本地执行使用运行器主机的进程权限。当作业需要独立容器或 Pod 时,可采用 Docker 或 Kubernetes 执行器,并根据任务设置镜像、挂载和网络。
任务需要模板引用的凭据和配置。Key Store 中的环境和文件来源由 Semaphore 服务器在将值用于执行之前解析。
全局运行器注册后可在整个实例中使用,项目运行器则属于特定项目。所有方案均支持全局分布式执行;项目范围和相关路由功能按定价说明包含在 Pro 和 Enterprise 中。请根据运维归属及环境访问要求选择范围。项目专用运行器可以让执行位置更明确,但进程能够访问哪些内容,仍取决于其运行时配置。
运行器主动连接并轮询 Semaphore 获取工作,因此可以部署在 NAT 后方或私有网络内,无需服务器主动向运行器建立入站连接。运行器仍需访问 Semaphore 端点,以及任务使用的仓库、软件包来源、外部服务和目标。应逐项检查这些连接路径;出站轮询不会消除其他网络要求。
通过受支持的运行器标签、模板要求和默认运行器设置,将工作匹配到合适的执行环境。标签应表达有意义的能力或位置,并让可用性和容量清晰可见。如果没有合适的运行器,任务可能继续等待。在用同一路径进行生产变更之前,先用无害操作测试所选路由,并在任务详情中确认实际执行的运行器。
本身并不会。本地执行器在运行器主机的进程上下文中运行,使用该环境提供的访问权限。Docker 或 Kubernetes 执行引入了不同边界,但挂载、权限、网络和镜像内容仍然重要。应分别决定执行位置和执行模式。准备所需依赖并检查主机访问权限,不要将“运行器”或“容器”视为完整的安全保证。
根据作业所选的执行路径,准备所需运行时。受支持的执行器镜像设置可明确指定 Ansible、Terraform、Python 或其他依赖集合,而无需变更共享主机上的所有作业。请核实已安装版本与方案支持的执行器选项。随后在真实执行环境中测试仓库访问、软件包和目标连通性,不能只在管理员的交互会话中测试。
添加运行器可扩展执行能力或改变任务执行位置,但不会创建高可用的应用控制平面。应用高可用性采用多个协同工作的 Semaphore 节点,以及文档规定的共享数据库、Redis 和负载均衡架构。这些功能可以互补,但解决的问题不同。在决定扩展部署的哪个部分之前,请先判断瓶颈是执行能力、网络覆盖,还是 UI 与 API 的访问。
任务会保持等待,直到有可用运行器满足模板路由要求。请检查运行器标签、启用标志和最近连接状态,再检查执行能力。标签是一项选择规则,未标记或标签不同的运行器不会自动接管该作业。
可以。当运行器使用 Pro 的 Docker 执行器或 Enterprise 的 Kubernetes 执行器时,模板可覆盖默认作业镜像。这样,各作业可使用其自动化需要的工具链。请在镜像中准备所需应用和依赖;此字段不会改变本地执行器的行为。查看模板执行设置。