安装与配置
运行时、持久化存储和升级流程决定了共享自动化服务的托管方式。Jenkins 把控制器数据存放在文件系统上,而 Semaphore UI 使用数据库。
| 对比项 | Semaphore UI | Jenkins |
|---|---|---|
| 独立的原生二进制文件 | 支持 | 不支持需要 Java 运行时 |
| 原生安装包 | 支持 | 支持 |
| 服务端平台 | Linux, macOS, Windows, FreeBSD | Linux、macOS、Windows 以及其他受支持的 Java 平台 |
Jenkins 可以通过可执行的 WAR 包在受支持的 Java 运行时上运行,也可以使用原生安装包或容器部署。控制器负责在 Agent 上调度 Job,Agent 标签用于选择合适的操作系统或工具链。因此,现有的 Agent 及其已安装的工具,对交付流水线和运维类 Job 都能继续发挥作用。
Semaphore UI 提供独立二进制文件、原生安装包、Docker 和 Kubernetes 部署方式。小规模安装可以把自动化任务和 Web 服务放在同一台服务器上运行。二进制和安装包两种方式都不需要 JVM 或 Kubernetes 集群,团队在还不需要分布式执行之前,可以采用常规的服务器部署。即使 Web 服务运行在 Windows 上,Ansible 的执行仍然需要受支持的控制环境,例如 Linux、WSL 或一个 Linux Runner。




