設定ファイルで定義したパイプラインをコンテナ内で実行し、プラグインで拡張できるセルフホスト型CI/CDエンジン。
semaphoreui/semaphore
共有ダッシュボードからAnsible playbook、Terraform/OpenTofuコード、BashやPowerShellのスクリプトを実行するWeb UIとAPI。
代替できる製品:Ansible Tower
Terraform Cloud
- スター
- 14,295
- フォーク
- 1,337
- 未解決の Issue
- 1,044
- 最終コミット
- 20 時間前
これは何?
Semaphore UIは、DevOps自動化ツールを実行するためのセルフホスト型Webインターフェースです。ターミナルからAnsible playbookやTerraformコードを実行する運用では手狭になったチームが、ブラウザーからジョブを起動、スケジュール、確認できます。
プロジェクト、タスクテンプレート、インベントリ、変数グループを使って作業を整理します。テンプレートは必要に応じて、またはスケジュールに沿って実行でき、実行ごとに出力を含むタスク記録が作成されます。タスクが失敗した場合は通知を送信できます。デプロイシステムへのアクセスは、ユーザーと権限の管理によって制御します。
Semaphoreは、Dockerイメージ、バイナリ、DebianまたはRPMパッケージ、Snap、および複数のクラウドマーケットプレイス向けイメージとして配布されています。Goで書かれており、自身のリソースを自動化するためのAPIも備えています。
主な機能
- 01Ansible playbook、TerraformとOpenTofuのコード、BashまたはPowerShellのスクリプトを実行します。
- 02タスクテンプレートを指定した時刻や間隔で実行するようスケジュールできます。
- 03タスクの失敗時に通知を送信します。
- 04インベントリやシークレット用の変数グループとともに、リソースをプロジェクト単位で整理できます。
- 05自動化に使えるREST APIとPostmanコレクションを提供します。
ユースケース
- チームのメンバー全員にサーバーのシェルアクセスを与えずに、共有のAnsibleデプロイを実行する。
- 一元管理されたWebダッシュボードから、Terraformのplanやapplyを定期実行する。
- どの自動化ジョブが実行され、その出力がどうだったかを監査する。
クイックスタート
- 1
SQLiteと管理者アカウントを使って、DockerでSemaphoreを実行する
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 playbook、Terraform/OpenTofuコード、BashやPowerShellのスクリプトを実行するWeb UIとAPI。 Semaphore UIは、DevOps自動化ツールを実行するためのセルフホスト型Webインターフェースです。ターミナルからAnsible playbookやTerraformコードを実行する運用では手狭になったチームが、ブラウザーからジョブを起動、スケジュール、確認できます。
- semaphore は無料で使えますか?ライセンスは?
- semaphore は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- semaphore は今もメンテナンスされていますか?
- 活発にメンテナンス中。semaphore の最終コミットは 2026年10月22日 です。
- semaphore は何に使えますか?
- チームのメンバー全員にサーバーのシェルアクセスを与えずに、共有のAnsibleデプロイを実行する。 一元管理されたWebダッシュボードから、Terraformのplanやapplyを定期実行する。 どの自動化ジョブが実行され、その出力がどうだったかを監査する。
- semaphore のインストール方法は?
- SQLiteと管理者アカウントを使って、DockerでSemaphoreを実行する: 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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
既存のCIパイプライン内でTerraformやOpenTofuを実行し、プルリクエストのコメントからplanとapplyを実行できる、オープンソースのIaCオーケストレーションツールです。
GitHub ActionsのワークフローをDocker上でローカル実行し、コミットやプッシュをせずに変更をテストできるCLIです。
SSHを使ってシステムの構成、アプリケーションのデプロイ、クラウドやネットワークリソースの管理を行う、エージェントレスのIT自動化プラットフォーム。人にも読みやすいPlaybookを使います。
複数ノードで標準化された運用タスクを実行できる、Webコンソール・CLI・WebAPIを備えたオープンソースのRunbook自動化サービス。
Jenkinsは、ソフトウェアのビルド、テスト、デプロイを自動化するオープンソースのサーバーで、2,000以上のプラグインで機能を拡張できます。