ジョブをつなぎ、繰り返し使えるワークフローに

共有データ、承認、成功時と失敗時の経路を使って、Ansible、Terraform、スクリプトを連携させます。

Plan production network実行中
承認未開始
Linux サーバー群にパッチ適用未開始
公開エンドポイントを検証未開始
インシデントのログを収集未開始
成功時失敗時
インフラを確認中
このプレビューは、承認まで進むワークフローを示します。承認すると保守タスクと検証へ進み、却下すると保守タスクの前で停止します。失敗分岐は表示されますが、このプレビューでは実行されません。

ジョブは自動化済み。操作全体はまだです

Playbook が終わっても、誰かが出力をコピーし、結果を確認して、次のジョブを開始する必要があります。引き渡すたびに待ち時間が増え、手順を見落とす機会も増えます。

ジョブをワークフローに接続します。 一連の処理を一度定義すれば、手動での開始や値のコピーなしに進められます。

共有アーティファクト
成功時と失敗時の経路
承認
タスクの依存関係

複数ツールにまたがる複雑な操作を連携

ワークフローのステップ間でデータを渡す

ジョブの出力を後続ジョブの入力として使えます。ワークフローのアーティファクトが、異なる自動化ツール間でも手作業でコピーせずに値を引き継ぎます。各ステップが受け取る値を選択できます。

ワークフローの出力と入力

API でワークフローを起動・監視

Pro では、ワークフロー API を使って、社内ポータルや別のサービスから実行を開始し、ステータスを追跡し、承認を処理できます。

自分たちのプロセスに合わせて操作を組み立てる

既存の自動化をそのまま利用

Ansible、Terraform、OpenTofu、Terragrunt、Bash、Python、PowerShell のタスクテンプレートを接続します。各ジョブはリポジトリ、認証情報、実行設定を保持します。各ステップの入力はノードパラメーターで指定します。

結果に応じて分岐

成功、失敗、常時の条件で次のタスクを選択します。独立した確認処理を並列実行し、All または Any の合流条件でまとめられます。診断や復旧の分岐は、チームが用意した自動化を実行します。

必要な箇所に判断を配置

明確なメッセージと任意のタイムアウトを設定した承認ノードで一時停止できます。承認または却下する前に、直前のタスクを確認してください。Enterprise のカスタムロールでは、選択したワークフローの承認権限を実行権限とは別に付与できます。権限は合算されるため、その人に割り当てられたロールをすべて確認してください。

待機中であることを明確に

サービスの再起動とヘルスチェックなど、操作の間に待機ノードを使います。実行画面には残り時間が表示されます。実際の検証は、独自の結果を持つ別のタスクにしてください。

どの定義が実行されたかを把握

各実行にはワークフローのリビジョンとバージョンが記録されます。編集可能な定義が変わった後も、その実行のグラフを確認し、個々のタスクを開いてステータス、入力、ログを確認できます。

ワークフローをお使いのシステムに接続

REST API で実行を開始し、ステータスを確認します。重要な結果をチームへ届けるタスク通知を設定できます。手動実行にも、連携した操作にも同じ保存済みテンプレートを使えます。

ドキュメントと関連機能

FAQ

Ansible、Terraform、Python を 1 つのワークフローで組み合わせられますか?

はい。タスクノードは既存のタスクテンプレートを起動するため、1 つのワークフローで Ansible Playbook、Terraform または OpenTofu の構成、Terragrunt、Bash、Python、PowerShell を連携できます。各タスクは独自のツールと実行設定を使います。タスクテンプレートを見る。

タスクから次のステップへ、Terraform の出力や Ansible の結果を渡せますか?

はい。現在のワークフローは JSON の出力と入力に対応しています。Terraform、OpenTofu、Terragrunt の出力は output -json で収集します。Ansible は set_stats で値を公開でき、スクリプトは SEMAPHORE_OUTPUTS_FILE に JSON を書き込めます。名前または明示的な接続マッピングで、これらの値を後続のアンケート変数へ割り当てます。出力と入力のガイドを読む。

複数の確認が終わるまで次のタスクを待機させられますか?

はい。ワークフローを並列の確認処理に分岐し、次のノードがすべての流入経路を待つ必要がある場合は All の合流条件を使います。Any の合流条件では、条件を満たす完了済み経路から先へ進めます。接続は、成功時、失敗時、どちらの場合でも実行するよう設定できます。

ワークフローを承認待ちで一時停止できますか?

はい。判断の内容を説明するメッセージと、任意のタイムアウトを設定した承認ノードを追加します。判断が確定するまで実行は一時停止します。必要な権限を持つユーザーが承認または却下できます。Enterprise のカスタムロールでは、選択したワークフローの承認を実行とは別に許可できます。責務を分ける場合は、割り当て済みのすべてのロールを確認してください。

失敗後に診断やクリーンアップを実行できますか?

はい。失敗時の接続でタスクテンプレートをつなぎます。たとえば、ヘルスチェックの失敗後にサービスログを収集できます。成功と失敗のどちらの後にも行う処理には Always を使います。クリーンアップやロールバックは自分たちのスクリプトや Playbook が行うため、一部だけ完了した操作への影響をテストしてください。

sleep スクリプトを書かずに一時停止を追加できますか?

はい。待機ノードは設定した秒数だけ待ち、実行画面に残り時間を表示します。サービスを落ち着かせてから、別の検証タスクへ進む際に使えます。待機が制御するのは時刻であり、ヘルスチェックは次のタスクが行います。

ワークフロー出力はプロジェクトランナーで使えますか?

現在のワークフロー出力は、ローカルランナーとリモートランナーに対応しています。Docker と Kubernetes のエグゼキューターは現在、ワークフロー出力を生成しません。後続処理で値を使う前に、出力元タスクのエグゼキューターを確認してください。出力は JSON データであり、アップロードされたファイルではありません。

ワークフローの出力でパスワードやファイルを渡せますか?

ワークフロー出力は、変更参照、対象グループ、リソース識別子など、通常の JSON 値に使ってください。値は平文で保存され、アンケートのシークレット項目には渡せません。パスワードはシークレットと認証情報に保管し、ファイルには適切なストレージを使ってください。シークレットと認証情報を見る。

失敗したワークフローのタスクはどこで調査できますか?

ワークフロー実行を開いて各ノードの状態を確認し、元のタスクを開いてログと実行の詳細を確認します。各実行は使用したワークフローのリビジョンを保持します。タスク通知で、設定済みチャネルを通じてチームに知らせることもできます。実行履歴を見る。

API 呼び出しでワークフローを開始できますか?

はい。REST API は、ワークフローの定義、実行、状態確認、承認操作を提供します。呼び出し元に手順を再実装せず、社内ポータルや別のシステムから保存済みワークフローを再利用します。API と Webhook を見る。