Semaphore v2.16 使开源版本中内置的 Swagger API 文档可用,引入了调度和集成的任务参数,并增加了对 SQLite 的支持。
目录
-
功能
-
内置 Swagger API 文档
直接在 Semaphore 界面中访问全面的 API 文档,支持与外部工具和 CI/CD 管道的无缝集成。
了解更多 » -
调度和集成的任务参数
定义并传递自定义参数给由调度和集成触发的任务,实现更灵活和动态的自动化工作流。
了解更多 » -
SQLite 支持
无缝运行 Semaphore,使用轻量级的基于文件的数据库引擎,便于设置和本地开发。
了解更多 » -
BoltDB 已被弃用
现在弃用 BoltDB,转而支持 SQLite,提供更强大和可维护的数据库选项。
了解更多 » -
同一模板的并行任务
现在可以从同一模板运行多个并发任务,提高自动化工作流的吞吐量和灵活性。
了解更多 » -
HashiCorp Vault 支持 (PRO)
了解更多 »
-
功能
内置 Swagger API 文档 (PRO)
Semaphore 用户现在可以通过集成的 Swagger UI 界面访问全面的 API 文档。这个强大的功能使 DevOps 团队能够:
- 浏览和探索所有可用的 API 端点
- 查看详细的参数规格和响应格式
- 直接从界面执行测试请求
- 简化与外部工具和 CI/CD 管道的集成
- 加速自定义自动化解决方案的开发
内置的 Swagger 文档使得将 Semaphore 与现有的 DevOps 工具链和自定义自动化工作流集成变得更加容易。

调度和集成的任务参数
Semaphore 现在允许您定义并传递参数给通过调度和集成执行的任务。此增强功能将任务参数的全部功能带入 Semaphore 的每个自动化入口点,使您能够:
- 将环境名称、Git 分支或功能标志等变量直接注入到您的 Ansible 剧本和 Terraform 计划中。
- 在多个场景中重用相同的模板,而无需重复代码。
- 构建动态的、上下文感知的工作流,适应触发方式。

SQLite 支持
Semaphore 现在支持使用 SQLite 作为其数据库引擎。这个轻量级的基于文件的选项使得在管理外部 PostgreSQL 实例过于复杂的环境中,快速启动 Semaphore 变得更加容易。
主要优势包括:
- 零外部依赖 – 所有内容都存储在一个与应用程序并存的
.sqlite
文件中。 - 适合本地开发和小团队 – 在笔记本电脑或 CI 中快速启动完整的 Semaphore 实例,而无需额外服务。
- 在容器化和边缘环境中的快速设置 – 非常适合演示、概念验证部署和短暂的测试环境。
- 无缝迁移路径 – 从 SQLite 开始,稍后使用内置的导出/导入命令迁移到 PostgreSQL。
BoltDB 已被弃用
BoltDB 自 Semaphore 的早期版本以来一直作为嵌入式键值存储。自 v2.16 起,它被正式弃用,并将在未来的主要版本中移除。
为什么要更改?
- 单写入者限制 – BoltDB 仅允许一个并发写入者,这限制了繁忙安装的可扩展性。
- 迁移摩擦 – 发展数据结构需要定制的应用程序代码。
SQLite 现在取代 BoltDB 成为默认存储引擎(请参见 SQLite 支持 部分)。
对现有用户的影响
- 当前的 BoltDB 安装继续运行,但不会对 Bolt 测试新功能。
- 新安装默认使用 SQLite,无法再创建新的 BoltDB 数据库。
- BoltDB 的官方支持将在此版本发布后约 6 个月内停止。
- 迁移脚本将很快提供。
同一模板的并行任务
Semaphore 现在允许您从同一模板运行多个并发任务,显著提高高需求自动化工作流的吞吐量。默认情况下,同一模板的任务按顺序排队,以防止资源冲突并确保可预测的执行顺序。
工作原理:
- 顺序执行(默认): 同一模板的任务按顺序排队并执行,防止资源冲突并保持可预测的执行顺序。
- 并行执行: 在模板设置中启用“允许并行任务”复选框,以同时运行同一模板的多个实例。
此功能特别适用于滚动部署、并行环境更新或多个开发人员需要同时运行相同自动化工作流的场景。

HashiCorp Vault 支持 (PRO)
Semaphore 现在提供与 HashiCorp Vault 的原生集成,用于安全密钥管理。在 Semaphore UI 中创建或更新密钥时,您可以选择将其存储在内置数据库中或在 Vault 实例中。这使您能够根据安全要求和现有基础设施灵活管理敏感凭据。
主要好处:
- 灵活存储: 按密钥选择是否将凭据存储在 Semaphore 数据库或 Vault 中。
- 提高安全性: 存储在 Vault 中的密钥从不驻留在 Semaphore 数据库中,仅在需要时访问。
- 集中管理: 使用 Vault 的工具管理、轮换和审计存储在外部的密钥。
- 无缝集成: 轻松将 Semaphore 连接到现有的 Vault 部署,配置最小。
- 访问控制: 利用 Vault 的细粒度策略控制哪些用户和项目可以访问特定密钥。
此功能在 Semaphore PRO 中可用,适合具有严格安全要求的组织或已经使用 Vault 进行密钥管理的组织。
