アプリケーション環境をプロビジョニング
構成ディレクトリとワークスペースに対応するテンプレートを作成します。環境入力は変数グループから渡します。
準備済みジョブを共有コードは Git にありますが、端末セッションごとにワークスペース、変数、認証情報が違う場合があります。次のエンジニアにも同じ開始点が必要です。
構成ディレクトリとワークスペースに対応するテンプレートを作成します。環境入力は変数グループから渡します。
準備済みジョブを共有Plan のみのタスクを開始し、出力を共有します。チームが変更を行う準備ができたら、Apply を別の操作として実行します。
準備済みジョブを共有Plan のみのテンプレートをスケジュールし、構成とインフラを比較して各 plan の出力を保持します。プランで差異を確認してください。
スケジュールを設定テンプレートは、リポジトリ、構成ディレクトリ、Terraform ワークスペースを選択します。変数グループが実行の入力を提供します。
Plan を実行し、インフラの変更案を確認します。破壊的なオプションは無効のままにしてください。Apply は別の操作です。
成功した Terraform ステップは、インフラの出力を自動的に公開します。その値を Ansible タスクの入力に割り当て、Python で設定済みサービスを検証できます。ワークフローはジョブとそのデータ、成功時と失敗時の経路を接続します。
変更を適用せずに変更案を確認するには Plan を選択します。Apply は別の実行です。後から実行する Apply が、先に実行した Plan タスクの保存済み出力を自動的に使うことはありません。
テンプレートのインベントリ項目で Terraform ワークスペースを選びます。入力には TF_VAR_ 名を持つ変数グループを使います。ワークスペースを選んでも、異なる変数や認証情報が自動で選ばれるわけではありません。
Terraform コード内のバックエンドを引き続き使えます。Pro では、ロック、状態のバージョン管理、UI での管理を提供する Semaphore の HTTP バックエンドで上書きできます。
Semaphore は実行前に init を実行します。ジョブを実行するサーバーまたはランナーに、Terraform バージョン、プロバイダー、プライベートモジュールの認証情報、API アクセスを準備してください。
はい。リポジトリと構成ディレクトリを参照する Terraform タスクテンプレートを作成します。ワークスペースを選び、変数グループから入力を渡し、必要な Terraform ランタイムを準備してください。Semaphore は構成を実行し、タスク出力と実行ステータスを保持します。
いいえ。Terraform は、コードに設定されたバックエンドをそのまま使えます。Pro では、状態のロック、バージョン履歴、UI 管理のために Semaphore の HTTP バックエンドを選べます。既存のアクセスと復旧手順に合うバックエンドを選択してください。
いいえ。ワークスペースの選択は、状態のワークスペースを選ぶものです。ジョブに必要な変数と認証情報は別途設定します。入力の異なる環境には、意図した組み合わせのタスクテンプレートと変数グループを用い、テンプレート名で対象範囲を明確にしてください。
後から実行する Apply が、先に実行した Plan タスクの保存済み出力を自動的に使用することはありません。それぞれ独立した実行です。Plan で変更案を確認してから、意図する Apply 操作を選択してください。タスク履歴には各実行の出力と結果が残ります。
はい。Plan のみのテンプレートをスケジュールし、出力から構成とインフラの差異を確認します。各実行には記録が残ります。これはレビュー用の plan を定期的に提供するもので、plan が検出したすべてのドリフトを自動通知するものではありません。
はい。ワークフローで Terraform タスクテンプレートを Ansible テンプレートの前に置き、その後に Python による準備確認などを追加します。各ステップを開始する条件を設定してください。Terraform の plan と状態は、ワークフローの連携とは分かれたままです。
変数グループをテンプレートに関連付けます。Terraform の入力変数には TF_VAR_ 名を使い、認証には各プロバイダーが想定する環境値を使います。機密値はシークレットエントリーに保存し、実行環境でモジュールとバックエンドへのアクセスを準備してください。
いいえ。この連携は、インフラ向けの Terraform 構成を Semaphore タスクとして実行します。Semaphore Terraform プロバイダーはその逆で、Terraform を使って対応する Semaphore リソースを管理します。それぞれ独立して使うことも、組み合わせることもできます。