一款可自托管的 CI/CD 引擎,基于容器运行配置文件定义的流水线,并支持插件扩展。
semaphoreui/semaphore
为 Ansible、Terraform/OpenTofu 等 DevOps 工具提供网页界面和 API 的运行管理平台。
- Star
- 14,295
- Fork
- 1,337
- 未关闭 Issue
- 1,044
- 最近提交
- 19小时前
这是什么?
Semaphore UI 是一个可自托管的网页界面,用于运行 DevOps 自动化工具。当团队不再适合在终端中手动执行 Ansible playbook 或 Terraform 代码时,可以通过浏览器发起、调度和查看这些任务。
项目以项目(Projects)、任务模板(Task Templates)、清单(Inventory)和变量组(Variable Group)组织工作内容。模板可以手动执行或定时运行,每次运行都会生成带输出记录的任务,任务失败时可发送通知。用户与权限管理用于控制对部署系统的访问。
项目提供 Docker 镜像、二进制文件、Debian/RPM 安装包、Snap 以及多家云市场的虚拟机镜像。后端使用 Go 编写,并提供 API 用于自动化管理其自身资源。
核心功能
- 01运行 Ansible playbook、Terraform/OpenTofu 代码以及 Bash、PowerShell 脚本。
- 02按指定时间或间隔定时执行任务模板。
- 03任务失败时发送通知。
- 04以项目为单位组织清单和用于保存敏感信息的变量组。
- 05提供 REST API 和 Postman 集合,便于自动化调用。
适用场景
- 让团队共享执行 Ansible 部署,而无需每个人都能直接登录服务器。
- 从集中的网页面板定时运行 Terraform plan 或 apply。
- 查看哪些自动化任务已执行以及对应的输出结果。
快速上手
- 1
使用 Docker 运行 Semaphore,采用 SQLite 数据库并创建管理员账户
docker run -p 3000:3000 --name semaphore -e SEMAPHORE_DB_DIALECT=sqlite -e SEMAPHORE_ADMIN=admin -e SEMAPHORE_ADMIN_PASSWORD=changeme -e SEMAPHORE_ADMIN_NAME=Admin -e SEMAPHORE_ADMIN_EMAIL=admin@localhost -d semaphoreui/semaphore:latest
使用前须知
- 快速启动示例使用默认管理员密码,正式使用前必须修改。
- 其他安装方式(二进制、Snap 或软件包)需要参考外部安装指南。
标签
常见问题
- semaphore 是什么?
- 为 Ansible、Terraform/OpenTofu 等 DevOps 工具提供网页界面和 API 的运行管理平台。 Semaphore UI 是一个可自托管的网页界面,用于运行 DevOps 自动化工具。当团队不再适合在终端中手动执行 Ansible playbook 或 Terraform 代码时,可以通过浏览器发起、调度和查看这些任务。
- semaphore 可以免费使用吗?用的什么许可证?
- semaphore 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- semaphore 还在维护吗?
- 活跃维护中。semaphore 最近一次提交是在 2026年10月22日。
- semaphore 适合用来做什么?
- 让团队共享执行 Ansible 部署,而无需每个人都能直接登录服务器。 从集中的网页面板定时运行 Terraform plan 或 apply。 查看哪些自动化任务已执行以及对应的输出结果。
- semaphore 怎么安装和运行?
- 使用 Docker 运行 Semaphore,采用 SQLite 数据库并创建管理员账户: docker run -p 3000:3000 --name semaphore -e SEMAPHORE_DB_DIALECT=sqlite -e SEMAPHORE_ADMIN=admin -e SEMAPHORE_ADMIN_PASSWORD=changeme -e SEMAPHORE_ADMIN_NAME=Admin -e SEMAPHORE_ADMIN_EMAIL=admin@localhost -d semaphoreui/semaphore:latest
- 在哪里获取 semaphore?
- 源代码和安装说明在 GitHub 上:https://github.com/semaphoreui/semaphore
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源 IaC 编排工具,在现有 CI 流水线中运行 Terraform 与 OpenTofu,通过 PR 评论触发 plan 和 apply。
一个命令行工具,用 Docker 在本地运行 GitHub Actions 工作流,无需反复提交推送即可测试改动。
无需安装代理、基于 SSH 的 IT 自动化平台,用通俗易读的 playbook 完成配置管理与应用部署。
开源的 Runbook 自动化服务,提供 Web 控制台、命令行工具和 WebAPI,用于在多台节点上统一执行运维任务。
Jenkins 是开源自动化服务器,用于构建、测试和部署软件,可通过两千多个插件扩展。