Ansible Playbook をチーム共通のジョブとして実行

Playbook は Git に保存します。Semaphore で保存済みインベントリと認証情報を使って実行し、保守をスケジュールし、ホストごとの結果を確認できます。

Playbook は共有済み。チームで実行できますか?

インベントリ、SSH 鍵、Vault パスワード、フラグは、まだ誰かのシェル履歴の中。引き継ぎのたびに同じ準備が必要です。

実行設定を Playbook とともに保存

  • ホストと認証情報への参照を一度選択
  • 制限、タグ、実行時の入力を公開
  • チームメンバーがジョブを実行し、出力を確認

日々のインフラ作業に既存の Playbook を活用

Linux サーバー群にパッチを適用

選択したインベントリにパッチ適用 Playbook を実行します。ホスト制限で小さい単位に絞り、その後ホストごとの結果を確認します。

準備済みジョブを共有

アプリケーションのリリースをデプロイ

実行入力でリリースを選択し、保存済みのリポジトリ、インベントリ、Vault の認証情報を再利用します。

準備済みジョブを共有

証明書を定期更新

更新用 Playbook をスケジュールし、失敗したタスクのアラートを設定します。実行のたびに記録を保持します。

スケジュールを設定

Playbook を設定して実行し、ホストを確認

ホスティング管理パネルの背後で動く Ansible

Savvii は、Laravel ミドルウェアの背後でプロビジョニング用 Playbook を実行するために Semaphore を使用しています。公開された導入事例では、このアーキテクチャで代理店が扱う約 600 台のサーバーを運用しています。

Savvii の運用方法を見る

1 つのワークフローでプロビジョニング、設定、検証

ワークフローで Terraform のプロビジョニング、Ansible の設定、Python の確認処理を接続します。インフラの出力を Playbook の入力へ渡し、設定済みサービスの値を検証処理へ渡せます。操作に必要な箇所へ承認と失敗時の経路を追加します。

Linux サーバー群の保守ワークフロー
環境をプロビジョニング
成功時出力 → 入力
サーバーを設定
成功時出力 → 入力
サービスを確認
失敗時
診断情報を収集

実行設定を保存した Ansible の操作画面

ジョブを作り直さずにホストを選択

静的インベントリ、リポジトリのファイル、または環境が対応する動的インベントリを使います。インベントリの一部だけを対象とする必要がある場合は、Limit プロンプトを有効にします。

タグ、制限、チェックモードをそのまま利用

既定値をテンプレートに保存し、開始時にチームが必要とする Ansible オプションを公開します。アンケート変数では、リリースバージョンや変更参照などの独自入力を収集できます。

Git と Vault の認証情報を再利用

リポジトリとホストへのアクセス用に保存済みの認証情報を関連付け、必要に応じて Ansible Vault のパスワードを複数追加します。Playbook、ロール、コレクションは既存のリポジトリにそのまま残ります。

保守をスケジュールするか、複数ジョブを連携

同じテンプレートを手動、API 連携、スケジュールから実行します。ジョブ間の依存関係、承認、成功時と失敗時の経路にはワークフローを使います。

FAQ

既存の Ansible Playbook を Semaphore で実行できますか?

はい。Ansible タスクテンプレートを作成し、リポジトリと Playbook パスを選択して、必要なインベントリ、変数、認証情報を関連付けます。ロール、コレクション、Git のレビュープロセスは維持できます。必要な Ansible の依存関係は実行環境に準備してください。

どのインベントリ方式を使えますか?

静的インベントリ、リポジトリのインベントリファイル、または環境が対応する動的インベントリを使います。インベントリをテンプレートに保存します。エンジニアが実行を特定のホストやグループに絞る必要がある場合は、Limit プロンプトを有効にします。

エンジニアは Ansible のタグ、制限、チェックモードを選べますか?

はい。テンプレートで対応するプロンプトとオプションを設定し、タスクの開始時に使います。既定値は次回以降のために保存されます。ホスト制限などの対応する API 上書きでは、先にテンプレートで該当するプロンプトを有効にしてください。

別のチームに、Playbook を編集せずに実行してもらうにはどうすればよいですか?

タスクの実行とリソースの編集を分けるプロジェクトロールを割り当てます。チームは保存済み設定を持つテンプレートを実行します。Enterprise のカスタムロールでは、選択したテンプレートだけにアクセスを絞れます。権限は合算されるため、割り当て済みのロールをすべて確認してください。

パッチ適用や証明書更新の Playbook をスケジュールできますか?

はい。動作する Ansible タスクテンプレートを作成し、定期実行のスケジュールを追加します。パッチ適用や更新は Playbook が行います。Semaphore は設定時刻にタスクを開始し、各回の出力とステータスを保持します。

ワークフローで Terraform や OpenTofu の後に Ansible を実行できますか?

はい。ワークフローでタスクテンプレートを接続し、インフラのプロビジョニング後に Ansible の設定と独立した検証タスクを実行できます。続行前の判断が必要な箇所に、成功・失敗の条件と承認を追加します。

SSH 鍵と Ansible Vault パスワードはどこに保存すべきですか?

認証情報エントリーを Semaphore の Key Store に保存するか、対応する外部シークレットソースを接続します。必要なリソースやテンプレートに参照を関連付けます。チームメンバーが実行のたびにシークレット値をコピーしなくても、ジョブはその設定を再利用します。

チームメンバー全員のマシンに Ansible をインストールする必要がありますか?

いいえ。Ansible は Semaphore が使う実行環境で動作します。バージョン、コレクション、アクセスをその環境に準備します。チームメンバーは UI または API から保存済みタスクテンプレートを開始し、ノート PC にランタイムを再構築せずに記録された出力を確認できます。