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インスタンスを追加のサービスなしで立ち上げることができます。
- コンテナ化された環境やエッジ環境での迅速なセットアップ – デモ、PoCデプロイメント、エフェメラルテスト環境に最適です。
- シームレスな移行パス – SQLiteから始めて、後で組み込みのエクスポート/インポートコマンドを使用してPostgreSQLに移行できます。
BoltDBは非推奨になりました
BoltDBは、Semaphoreの初期バージョンから埋め込みのキー・バリューストアとして機能していました。v2.16以降、これは公式に非推奨となり、将来のメジャーリリースで削除される予定です。
変更の理由は?
- 単一ライターの制限 – BoltDBは同時に1つのライターしか許可せず、忙しいインストールでのスケーラビリティを制限します。
- 移行の摩擦 – データ構造の進化には特注のアプリケーションコードが必要です。
SQLiteは、デフォルトのストレージエンジンとしてBoltDBに代わって置き換えられます(SQLiteサポートセクションを参照)。
既存のユーザーへの影響
- 現在のBoltDBインストールは引き続き動作しますが、新機能はBoltに対してテストされません。
- 新しいインストールはデフォルトでSQLiteとなり、新たにBoltDBデータベースを作成することはできません。
- BoltDBの公式サポートは、このリリースから約6か月後に終了します。
- 移行スクリプトは近日中に利用可能になります。
同じテンプレートのための並列タスク
Semaphoreは、同じテンプレートから複数の同時タスクを実行できるようになり、高需要の自動化ワークフローのスループットが大幅に向上します。デフォルトでは、同じテンプレートからのタスクはリソースの競合を防ぎ、予測可能な実行順序を確保するために順次キューに入れられます。
動作の仕組み:
- 順次実行(デフォルト): 同じテンプレートからのタスクはキューに入れられ、1つずつ実行され、リソースの競合を防ぎ、予測可能な実行順序を維持します。
- 並列実行: テンプレート設定で「並列タスクを許可」チェックボックスを有効にすると、同じテンプレートの複数のインスタンスを同時に実行できます。
この機能は、ローリングデプロイメント、並列環境の更新、または複数の開発者が同じ自動化ワークフローを同時に実行する必要があるシナリオに特に便利です。

HashiCorp Vaultサポート (PRO)
Semaphoreは、セキュアなキー管理のためにHashiCorp Vaultとのネイティブ統合を提供します。Semaphore UIでシークレットを作成または更新する際に、組み込みのデータベースに保存するか、Vaultインスタンスに保存するかを選択できます。これにより、セキュリティ要件や既存のインフラストラクチャに応じて、機密資格情報を管理する柔軟性が得られます。
主な利点:
- 柔軟なストレージ: シークレットごとに、資格情報をSemaphoreデータベースに保存するか、Vaultに保存するかを選択できます。
- セキュリティの向上: Vaultに保存されたシークレットは、Semaphoreデータベースに存在せず、必要なときにのみアクセスされます。
- 集中管理: Vaultのツールを使用して、外部に保存されたシークレットを管理、ローテーション、および監査できます。
- シームレスな統合: 最小限の設定で、Semaphoreを既存のVaultデプロイメントに簡単に接続できます。
- アクセス制御: Vaultの詳細なポリシーを活用して、特定のシークレットにアクセスできるユーザーやプロジェクトを制御します。
この機能はSemaphore PROで利用可能で、厳格なセキュリティ要件を持つ組織や、すでにVaultを使用してシークレット管理を行っている組織に最適です。
