workflow job template (ワークフロージョブテンプレート) は、一連の各種ジョブテンプレートをリンクして、リリースプロセスに含まれていたジョブ全体を追跡するタスクを 1 つのユニットとして実行します。このようなリソースには以下が含まれます。
ジョブテンプレート
ワークフローテンプレート
プロジェクト同期
インベントリーソース同期
() メニューでは、現在利用可能なワークフローとジョブテンプレートのリストを表示します。デフォルトのビューは折りたたまれており(コンパクト)、テンプレート名、テンプレートタイプ、テンプレートを使用して実行したジョブのステータスが表示されていますが、展開 をクリックして更に情報を表示できます。このリストは、名前別にアルファベット順にソートされていますが、他の基準でソートしたり、さまざまなフィールドやテンプレートの属性別に検索できます。この画面から、ジョブテンプレートの起動 ()、コピー ( )、削除 ( ) が可能です。ジョブテンプレートを削除する前に、ワークフロージョブテンプレートで使用されていないことを確認してください。
ワークフローテンプレートにのみ、ワークフローエディターにアクセスするためのショートカットとしてワークフロービジュアライザーアイコン () があります。
注釈
ワークフローテンプレートは、ワークフローテンプレートのビルディングブロックとして使用できます。ワークフローテンプレートに含まれるパラメーターの多くで、Prompt on Launch (起動プロンプト) を有効にして、ワークフロージョブテンプレートレベルで変更でき、個別のワークフローテンプレートレベルで割り当てられた値に影響を与えることはありません。詳しくは、「 ワークフロービジュアライザー 」のセクションを参照してください。
新規ワークフロージョブテンプレートを作成するには、以下を実行します。
オプションテンプレートの追加 ボタンをクリックしてから、メニュー一覧より ワークフローテンプレート を選択します。
以下のフィールドに該当する詳細を入力します。
名前: ワークフローテンプレートの名前を入力します。
説明: 任意の説明を入力します (オプション)。
組織: オプションでワークフローを関連付ける組織を入力するか、これを検索します。
インベントリー: オプションで現在ログインしている Tower ユーザーが利用できるインベントリーから、このワークフローテンプレートで使用するインベントリーを入力するか、検索します。
起動プロジェクト: 選択されている場合は、このワークフローテンプレートの起動時または、ワークフローテンプレートが別のワークフローテンプレートで使用時に、インベントリーを提供できます。
制限: オプションで、ワークフローが実行されるサーバーのサブセットに対する制限を指定します。この値は、Playbook が管理または影響を与えるホストの一覧をさらに制限するためのホストのパターンです。複数のパターンは、コロン (「:」) で区切ることができます。コアの Ansible と同様に、「a:b」は「グループ a または b に含まれる」、「a:b:&c」は「a または b に含まれ、c には必ず含まれる」、「a:!b」は「a に含まれるが間違いなく b には含まれない」という意味になります。
起動プロンプト: これが選択されている場合、デフォルト値が指定されている場合でも、起動時に制限を選択するようプロンプトが出されます。
** SCM ブランチ**: オプションでブランチを指定して、ブランチに対してプロンプトを出すすべてのジョブテンプレートノードをオーバーライドします。
起動プロンプト: これが選択されている場合、デフォルト値が指定されている場合でも、起動時に SCM ブランチを選択するようプロンプトが出されます。
ラベル: 「dev」または「test」などのこのワークフローテンプレートを説明するオプションのラベルを指定します。ラベルを使用して Tower ディスプレイにあるワークフローテンプレートおよび完了したジョブの分類およびフィルターを実行します。
ラベルは、ワークフローテンプレートに追加される際に作成されます。ラベルは、ワークフローテンプレートで提供されるプロジェクトを使用する単一の組織に割り当てられます。組織のメンバーは、(管理者ロールなどの) 編集パーミッションがある場合はワークフローテンプレートでラベルを作成できます。
ワークフローテンプレートが保存されると、ラベルはテンプレートの概要に表示されます。
ラベルの横にある「x」をクリックしてこれを削除します。ラベルが削除され、ワークフローまたはワークフローテンプレートの関連付けが解除されると、ラベルは組織ラベルの一覧から永久に削除されます。
ジョブは起動時にワークフローテンプレートからラベルを継承します。ラベルがワークフローテンプレートから削除される場合、ジョブからも削除されます。
オプション: 同時実行ジョブの有効化 をチェックしてこのワークフローの同時実行を可能にします。
追加変数:
追加のコマンドライン変数を Playbook に渡します。これは、ansible-playbook の -e または --extra-vars コマンドラインパラメーターで、これについては、Ansible Tower ドキュメント (Passing Variables on the Command Line ) に説明されています。
YAML または JSON のいずれかを使用してキー/値のペアを指定します。このような変数には、優先順位を示す最大値があり、他の場所で指定された他の変数よりも優先されます。値の例には、以下が含まれます。
git_branch: production release_version: 1.5追加変数についての詳細は、追加変数 を参照してください。
起動プロンプト: これが選択されている場合、デフォルト値が指定されている場合でも、起動時にコマンドライン変数を選択するようプロンプトが出されます。
注釈
スケジュールに
extra_vars
を指定可能にするには、ワークフローテンプレートの EXTRA VARIABLES で 起動プロンプト を選択するか、ワークフローテンプレートの Survey を有効にする必要があります。これにより、回答済みの Survey の質問がextra_vars
に指定されます。
ワークフローテンプレートの設定が完了したら、保存 をクリックします。
テンプレートを保存すると、ワークフローテンプレートのページが終了され、ワークフロービジュアライザーが開き、ワークフローをビルドできるようになります。詳しい情報は、「ワークフロービジュアライザー」セクションを参照してください。ワークフローをビルドしない場合には、ワークフロービジュアライザーを終了して、新たに保存したテンプレートの詳細タブに戻り、パーミッション、通知、スケジュール、および、Survey を追加するか、完了したジョブの表示やワークフローテンプレートのビルドを後から実行します。または、起動 をクリックしてワークフローを開始することもできますが、開始前にテンプレートを保存しておく必要があります。していない場合は、起動 ボタンはグレーアウトされたままです。また、通知 タブはテンプレートの保存後にしか表示されない点に留意してください。
新規に作成されたワークフローテンプレートが画面下部のテンプレートの一覧の表示される際に、テンプレートが保存されていることを確認できます。
注釈
インベントリーがワークフローテンプレートに指定されている場合には、インベントリーがテンプレートリストビューに表示されます。
パーミッション をクリックすると、ユーザーおよびチームメンバーに関連付けられたパーミッションの確認、付与、編集および削除を実行できます。
ボタンをクリックし、このワークフローテンプレートの新規のパーミッションを作成します。
この例では、2 ユーザーと 1 チームが選択されており、それぞれにこのワークフローテンプレートのパーミッションが付与されています。
チームとユーザー間を切り換える必要はなく、パーミッションを同時にどちらにも割り当てることができることに注意してください。
通知 をクリックすると、設定した全通知の統合を確認できます。テンプレートを保存してはじめて、通知 タブが表示されます。
トグルを使用して、特定のテンプレートで使用する通知を有効または無効にします。詳細については、「通知の有効化と無効化」を参照してください。
通知が設定されていない場合には、グレーのボックス内の 通知 リンクをクリックして新規通知を作成します。
さまざまな通知タイプの設定に関する追加の情報は、「 通知タイプ 」を参照してください。
完了したジョブ タブでは、実行したワークフローテンプレートの一覧が表示されます。展開 をクリックして、各ジョブのさまざまな情報を表示します。
注釈
ワークフローレベルのインベントリーがランタイム時に指定された場合には、インベントリー名がジョブリストのワークフロージョブに表示されます。
このビューから、ジョブID、ワークフロージョブの名前をクリックして、その内容が図で表示されます。以下の例では、141 - WF using JT のワークフロージョブのジョブ詳細が表示されます。
ワークフローテンプレートが他のワークフローで使用されている場合には、ジョブ詳細では親のワークフローが表示されます。
上記の例では、親ワークフローテンプレート Overall をクリックすると、ジョブ詳細ページ、ノードのグラフィカルな情報、ノード起動時の各ノードのステータスが表示されます。
ノードには、一目で識別できるラベルが付いています。詳細については、「ワークフロービジュアライザー」セクションの legend_を参照してください。
スケジュール をクリックすると、このテンプレートに設定されているスケジュールを確認できます。
ジョブテンプレートの実行をスケジュールするには、スケジュール タブをクリックします。
スケジュールがすでに設定されている場合には、スケジュールの設定をレビュー、編集、または有効化/無効化します。
スケジュールが設定されていない場合には、詳細情報を「 スケジュール 」で参照してください。
ネスとかされたワークフローで使用するワークフローテンプレートに、インベントリーオプションとして survey や、Prompt on Launch が選択されている場合には、PROMPT ボタンが、スケジュールフォームの SAVE および CANCEL ボタンの横に表示されます。PROMPT ボタンをクリックすると、オプションで INVENTORY のステップが表示され、インベントリーを指定または削除するか、変更せずにこのステップをスキップすることができます。
「実行」または「チェック」のジョブタイプを含むワークフローにより、ワークフローテンプレートの作成または編集画面で Survey 設定できます。Survey は、「Prompt for Extra Variables (追加変数のプロンプト)」の場合と同様に Playbook の追加変数を設定しますが、ユーザーにとって使いやすい質問と回答を使って実行します。また Survey はユーザー入力の確認を可能にします。 ボタンをクリックして Survey を作成します。
Survey のユースケースは多岐に及びます。一例として、開発者に「push to stage」ボタンを付与する操作が必要な場合、これは Ansible の高度な知識がなくても実行できます。起動時に、このタスクは「What tag should we release?」などといった質問への回答を求めるプロンプトを出す可能性があります。
多項選択式の質問など、多種の質問を尋ねることができます。
Survey を作成するには、以下を実行します。
ボタンをクリックして、Survey の追加 ウィンドウを起動します。
画面上部にある ON/OFF の切り替えボタンを使用すると、この survey プロンプトをすぐに有効化または無効化できます。
Survey には複数の質問を含めることができます。それぞれの質問について、以下の情報を入力します。
名前: ユーザーに尋ねる質問
説明: (オプション) ユーザーに尋ねられる内容の説明。
Answer Variable Name (回答の変数名): ユーザーの応答の保存に使用する Ansible 変数名。これは Playbook で使用される変数です。変数名にはスペースを含めることができません。
回答タイプ: 以下の質問のタイプから選択します。
テキスト: 単一行のテキスト。この回答の最小および最大の長さ (文字数) を設定できます。
Textarea (テキスト領域): 複数行のテキストフィールド。この回答の最小および最大の長さ (文字数) を設定できます。
パスワード: 応答は、実際のパスワードが処理される場合と同様に機密情報として処理されます。この回答の最小および最大の長さ (文字数) を設定できます。
Multiple Choice (single select) (複数の選択 (単一選択)): 1 度に 1 つのみを選択できるオプションの一覧。複数の選択オプション ボックスに 1 行に 1 つのオプションを入力します。
Multiple Choice (multiple select)(複数の選択 (複数選択)): 1 度に任意の数のオプションを選択できるオプションの一覧。複数の選択オプション ボックスに 1 行に 1 つのオプションを入力します。
Integer (整数): 整数。この回答の最小および最大の長さ (文字数) を設定できます。
Float (浮動): 10 進数。この回答の最小および最大の長さ (文字数) を設定できます。
Default Answer (デフォルトの回答): 選択したタイプにより、質問に対するデフォルトの回答を指定できます。この値はインターフェースに事前投入されており、ユーザーにより回答が指定されない場合に使用します。
必須: この質問に対する回答がユーザーから求められているかどうかを示します。
質問の情報を入力したら、 ボタンをクリックして質問を追加します。
定型化されたバージョンの Survey が「プレビュー」ペインに表示されます。いずれの質問についても、編集 ボタンをクリックして質問を編集できます。削除 ボタンをクリックすると質問を削除でき、グリッドアイコンをクリックおよびドラッグして質問の順序を変更できます。
左ペインに戻り、質問を追加します。
完了したら、保存 をクリックして Survey を保存します。
Survey の質問に対する 必須 の設定は、対話するユーザーにとって回答がオプションかどうかを決定します。
背後では、オプションの Survey 変数が入力されていない場合でも extra_vars
の Playbook に渡すことができます。
テキスト以外の変数 (入力タイプ) がオプションとマークされ、入力されていない場合には、Survey の extra_var
は Playbook に渡されません。
テキスト入力またはテキスト領域の入力がオプションとしてマークされていて、この内容が入力されておらず、最小の length > 0
が設定されている場合に、Survey の extra_var
は Playbook に渡されません。
テキスト入力またはテキスト領域の入力がオプションとしてマークされていて、この内容が入力されておらず、最小の length === 0
が設定されている場合に、Survey の extra_var
は、値が空のストリング ( “” ) に設定された状態で Playbook に渡されます。
Ansible Tower 3.1 では、ワークフロービジュアライザー (以前の ワークフローエディター) が導入され、グラフィカルな形式で、ジョブテンプレート、ワークフローテンプレート、プロジェクト同期、インベントリー同期を統合し、ワークフローテンプレートをビルドできるようになりました。ワークフローテンプレートをビルドする前に、親、子、兄弟のノードに関するさまざまなシナリオでの留意事項について「 ワークフロー 」のセクションを確認してください。
テンプレート (ジョブテンプレートまたはワークフロージョブテンプレート)、プロジェクトの同期、インベントリーの同期、または承認のうち、複数のノードタイプの組み合わせを設定して、ワークフローを構築できます。各ノードは長方形で表され、リレーションシップと関連するエッジタイプはノード間を接続する線 (リンク) で表されます。
ワークフローテンプレートの詳細/編集ビューで ボタンをクリックするか、テンプレートリストビューから () アイコンをクリックしてワークフロービジュアライザーを起動します。
ボタンをクリックし、ワークフローに追加するノードの一覧を表示します。
右側のペインで、ドロップダウンメニューから追加するノードのタイプを選択します。
承認 ノードを選択する場合は、「承認ノード」を参照してください。
ノードを選択すると、ノードに関連付けられた使用できる有効なオプションが表示されます。詳細にアクセスするには、ノードの横にあるツールチップをクリックします。
注釈
ワークフローのグラフへの入力時にデフォルトのインベントリーがないジョブテンプレートを選択すると、親ワークフローのインベントリーが使用されます。ジョブテンプレートには認証情報は必要ありませんが、パスワードを必要とする認証情報がある場合には、この認証情報がプロンプトを使用する認証情報に置き換えられない限り、使用中のワークフローに対してジョブテンプレートを選択することはできません。
ノードを選択すると、ワークフローはビルドを開始するので、選択したノードで行うアクションタイプを指定する必要があります。このアクションは、エッジタイプ とも呼ばれます。
ノードが root ノードの場合には、エッジタイプはデフォルトで Always になり、編集できません。
後続のノードでは、次のシナリオ (エッジタイプ) のいずれかを選択して、それぞれに適用できます。
Always (常時): 成功または失敗にかかわらず、実行を継続します。
On Success (成功時): 正常に完了すると、次のテンプレートを実行します。
On Failure (失敗時): 失敗時に、別のテンプレートを実行します。
ノードにマウスカーソルを合わせると、別のノードの追加 ()、既存のリンクの編集 ()、または選択したノードの削除 () を行うことができます。
ワークフローで使用するジョブテンプレートのパラメーターに Prompt on Launch (起動プロンプト) が選択されている場合には、Prompt ボタンが表示され、ノードレベルでこれらの値を変更できるようになります。ウィザードを使用して値を変更し、確定 をクリックします。
同様に、ワークフローで使用するワークフローテンプレートで、インベントリーオプションとして Prompt on Launch (起動プロンプト) が選択されている場合には、ウィザードを使用して、プロンプト時にインベントリーを指定します。親のワークフローに独自のインベントリーがある場合には、ここで指定するインベントリーは上書きされます。
注釈
プロンプト表示が可能な必須フィールドで、デフォルト設定のないジョブテンプレートの場合は、ノード作成時にこれらの値を指定してから、選択 ボタンを有効にする必要があります。プロンプト ボタンで値を指定するまで 選択 ボタンが無効となる例として、1) ジョブテンプレートで Prompt on Launch (起動プロンプト) チェックボックスを選択しているがデフォルトを指定していない場合、または 2) 必須の survey の質問を作成しているが、デフォルトの回答を指定していない場合が挙げられます。ただし、これは認証情報には該当 しません。ノードの作成時に、ノードの起動に必要な情報を指定する必要があるので、ワークフローノードの作成時には、起動時にパスワードを必要とする認証情報は、使用できません。そのため、ジョブテンプレートで認証情報の入力を求めるプロンプトが表示される場合には、Tower により、パスワードを必要とする認証情報を選択できないようになります。
また、対象のノードで変更を適用するには、プロンプトのウィザードの終了時に、選択 をクリックする必要があります。選択しないと、変更内容が、実際にジョブテンプレートで設定した値に戻ってしまいます。
各ワークフローノードに関連付けられるテンプレートは、プロセスの進行時に選択した実行シナリオに基づいて実行されます。 コンパス () アイコンをクリックして、各実行シナリオとそのジョブタイプの凡例を表示します。
ノードの追加/編集が完了したら、選択 をクリックしてすべての変更を保存し、グラフィカルビューにレンダリングします。ワークフローの構築に利用できる方法については、「ノードの構築シナリオ」を参照してください。
ワークフローテンプレートのビルドが完了したら、保存 をクリックしてワークフローテンプレート全体を保存し、新しいワークフローテンプレートの詳細ページに戻ります。
重要
このペインで 閉じる をクリックしても、作業は保存されません。代わりにワークフロービジュアライザー全体を閉じて最初からやり直す必要があります。
承認 ノードを選択するには、ワークフローを次に進めるためにユーザーの介入が必要です。この機能は、Playbook 間のワークフローを一時停止する手段として使用し、ユーザーはワークフローで次の Playbok に進むことを承認できるため、ユーザーが仲介するのに十分な時間を指定することも、他のトリガーを待たずにできるだけ早く次に進めることもできます。
タイムアウトのデフォルトは「なし」ですが、リクエストの有効期限が切れて自動的に拒否されるまでの時間を指定できます。承認ノードの情報を選択して指定すると、グラフィカルビューで、承認ノードの横に一時停止 () アイコンが表示されます。
承認者は、承認ノードを含むワークフロージョブテンプレートを実行できる任意のユーザーで、組織管理者以上の権限 (そのワークフロージョブテンプレートに関連付けられた組織のもの)、またはその特定のワークフロージョブテンプレート内で明示的に割り当てられた Approve パーミッションを持つ任意のユーザーです。
保留中の承認ノードが指定された制限時間内に承認されなかった場合 (有効期限が割り当てられている場合)、または拒否された場合には、承認ノードそれぞれ「タイムアウト」または「失敗」としてマークされ、次の「失敗したノード」に進みます。承認された場合は、「成功時」のパスが使用されます。API で、すでに承認、拒否、またはタイムアウトになったノードに POST を実行しようとすると、このアクションは冗長であり、それ以上の手順は実行されないことを通知するメッセージが表示されます。
以下は、承認ワークフローで許可されるさまざまなレベルの権限を示しています。
範囲 |
ロール |
WF 承認の作成 |
承認の付与 |
WF 承認の表示 |
承認/拒否 |
アクティビティーストリームでの WF 承認の表示 |
---|---|---|---|---|---|---|
組織 |
組織管理者 |
可 |
可 |
可 |
可 |
可 |
組織の WFJT |
WF 管理者 |
可 |
可 1 |
可 |
可 |
可 |
WF の実行者 |
不可 |
不可 |
可 |
不可 |
可 |
|
WF の承認者 |
不可 |
不可 |
可 |
可 |
可 |
|
WF の読み取り |
不可 |
不可 |
可 2 |
不可 |
可 3 |
|
システム |
システム管理者 |
可 |
可 |
可 |
可 |
可 |
システム監査者 |
不可 |
不可 |
可 |
不可 |
可 |
|
組織内の任意ユーザー |
不可 |
不可 |
不可 |
不可 |
不可 |
|
組織外の任意ユーザー |
不可 |
不可 |
不可 |
不可 |
不可 |
親ノードの をクリックして兄弟ノードを追加できます。
ノード間に別のノードを挿入するには、 が表示されるまで 2 つのノード間をつなぐ線の上にマウスをかざします。 をクリックすると自動的に、2 つのノード間にノードが挿入されます。
root ノードを追加して分割のシナリオを表現するには、 ボタンをもう一度クリックします。
分割シナリオを作成するノード上にマウスをかざし、そこから分割シナリオを開始して、 をクリックします。これで実際に、同じ親ノードから複数のノードが追加されて、兄弟ノードが作成されます。
注釈
新規ノードの追加時には、PROMPT ボタンでワークフローテンプレートも適用します。ワークフローテンプレートにより、インベントリーおよび survey のプロンプトが表示されます。
最後に挿入したノードを取り消すには、右のペーンから何も選択せずに別のノードをクリックするか、右のペーンから キャンセル をクリックします。
以下は、ジョブテンプレートで開始される 3 つのタイプのジョブがすべて含まれるワークフローの例です。これが実行に失敗する場合は、プロジェクト同期ジョブに進み、成否にかかわらず、インベントリーの同期ジョブに進みます。
ウィンドウの先頭にあるキーを参照して、グラフィックな説明と関連付けられる記号および色の意味を特定するのを忘れないでください。
注釈
ワークフローで、兄弟ノードにさまざまなエッジタイプが指定されていて、後続のノードがアタッチされたノードを削除した場合には、アタッチされたノードが自動的に兄弟ノードセットと結合されて、そのエッジタイプを保持します。
以下の方法で、ノードを変更できます。
ノードを編集する必要がある場合に、編集するノードをクリックすると右側のペインには現在の選択内容が表示されます。変更を加えたら 選択 をクリックして変更をグラフィカルビューに適用します。
既存のリンクのエッジタイプを編集するには (success (成功)/failure (失敗)/always (常時))、リンクをクリックします。右側のペインに、現在の選択内容が表示されます。変更を加えたら 選択 をクリックして変更をグラフィカルビューに適用します。
別のノードに新規リンクを追加するには、各ノード上に表示される、リンク アイコンをクリックします。クリックすると、リンクを追加可能なノードがハイライトされます。実行可能なオプションは、点線で表示されます。無効なオプションは、ボックス (ノード) がグレーアウトされます。このようなボックスを選択できたとしても、無効なリンクが生成されます。以下の例では、矢印で示されているように、e2e-ec20de52-project のリンク先に対する選択可能なオプションとして Demo Project が表示されます。
リンクを削除するには対象のリンクをクリックして、リンク解除 をクリックします。
ターゲットまたは子ノードに複数の親がある場合に、このボタンは、右側のパネルにのみ表示されます。すべてのノードが常に、少なくとも 1 つ以上の他のノードにリンクされている必要があるため、必要のなくなったリンクを削除する前に、新規リンクを作成する必要があります。
設定アイコン () をクリックしてビューのズーム、パン、または再配置を行います。または、ワークフローの図をドラッグして画面上で再配置するか、マウスをスクロールしてズームします。
以下のいずれかの方法でワークフローテンプレートを起動します。
ワークフロージョブテンプレートリストには、() ナビゲーションリンクからアクセスするか、ワークフロージョブテンプレートの詳細ビューで、下方にスクロールしてテンプレートの一覧から ボタンにアクセスします。
起動するジョブテンプレートのジョブテンプレートの詳細ビューで、起動 をクリックします。
ジョブテンプレートおよび Survey に設定される追加変数と共に、Tower は起動時にジョブテンプレートに追加される変数として同じ変数を自動的に追加します。さらに、Tower は Web ブラウザーをこのジョブのジョブの詳細ページにリダイレクトし、進捗と結果が表示されます。
ワークフローの承認に関連するイベントは、承認リクエストに関する詳細情報とともにアクティビティーストリーム () に表示されます。
Ansible Tower では、ワークフローテンプレートのコピー機能を使用できます。ワークフローテンプレートをコピーすることを選択した場合には、関連付けられたスケジュール、通知、またはパーミッションは コピーされません。スケジュールおよび通知は、ワークフローテンプレートのコピーを作成するユーザーまたは管理者により作成しなおす必要があります。ジョブテンプレートをコピーするユーザーには管理者権限が付与されますが、パーミッションはワークフローテンプレートには割り当てられません (コピーされません)。
コピーするワークフロージョブテンプレートには、テンプレート のナビゲーションリンク () からアクセスするか、ワークフロージョブテンプレートの詳細ビューで、下方にスクロールしてテンプレートの一覧からアクセスします。
ボタンをクリックします。
新規テンプレートが、コピーしたテンプレートの名前とタイムスタンプが設定された状態で開きます。
コピーされたテンプレートを選択して 名前 フィールドの内容を新規の名前に置き換え、他のフィールドのエントリーを指定または変更してこのページを完了します。
完了したら 保存 をクリックします。
注釈
プロジェクトが使用する認証情報で現在のユーザーに 読み取り アクセスしか割り当てられていない場合など、リソースに、適切なレベルのパーミッションが割り当てられていない関連リソースが含まれる場合に、このリソースはコピーできません。ただし、ワークフローテンプレートでは、このノードのいずれかで、権限のないジョブテンプレートを使用する場合に、ワークフローテンプレートのコピーは可能ですが、コピーしたワークフローテンプレートでは、ワークフローテンプレートノード内の適切なフィールドがなくなります。
注釈
厳密な extra_vars
検証が Ansible Tower 3.0.0 でさらに追加されました。ジョブ起動 API に渡される extra_vars
は、以下が True の場合のみ受け入れられます。
これは、有効な survey の変数に対応するものである。
ask_variables_on_launch
が True に設定されている。
Survey 変数を渡す際に、この変数は Tower 内の追加変数 (extra_vars
) として渡されます。これは、(Survey で実行するように) 追加変数をワークフローテンプレートに渡すと、インベントリーおよびプロジェクトから渡される他の変数が上書きされる可能性があるために注意が必要です。
たとえば、インベントリーの定義された変数が debug = true
であるとします。この変数 debug = true
がワークフローテンプレート Survey で上書きされる可能性はあります。
渡す必要のある変数が上書きされないようにするには、この変数を Survey で再定義して組み込むことができます。追加変数はインベントリー、グループおよびホストのレベルで定義できることに注意してください。
以下の表では、Ansible の変数の順序との比較で、Ansible Tower の変数の順序の動作 (階層) を示しています。
Ansible Tower 変数の順序の階層 (最後に一覧表示された win)