workshops

Training Course for Ansible Automation Platform

This project is maintained by ericzji

演習 2.6 - ワークフロー

Read this in other languages: uk English, japan 日本語.

Ansible Tower ワークフロー

Ansible Tower の主要な新機能としてバージョン 3.1 からワークフローが導入されました。ワークフローの基本的な考え方は、複数のジョブテンプレートをリンクし実行できることです。各ジョブテンプレートの実行は、例えば以下の様な実行条件を付与することができます。

また、ワークフローはジョブテンプレートだけではなくプロジェクトやインベントリの更新を行うこともできます。

このラボでは、ワークフローの設定方法を学びます。

ラボシナリオ

組織には以下の2つの部門があります。

新しい Tomcat サーバーをデプロイする必要がある場合、以下の 2 つのことを行う必要があります

Playbook、JSP ファイルなど、必要なものはすべて Git リポジトリーに存在します。それを利用してラボを行います。

メモ

シナリオでは、2 つの異なる Git リポジトリの利用を想定していますが、このラボでは同じリポジトリの2つの異なるブランチにアクセスしています

プロジェクトの設定

先のラボで実施した通り、まずはプロジェクトを作成し、 Git リポジトリを登録する必要があります。必要な情報は以下です。ご自身で設定してみてください。

注意

このラボは admin アカウントで実施します。 wweb ユーザーでログインしている場合は、ログアウトして admin でログインしなおしてください!

回答は以下の通り

ジョブテンプレートの作成

最終目標はワークフローの作成ですが、まず、通常のジョブテンプレートを作成する必要があります。

ヒント

Playbook の中身をご覧になりたい方は、 Github URL を確認して、適切なブランチに切り替えてご覧ください。

ワークフローの設定

ジョブテンプレートが出来上がりましたので、ワークフローテンプレートを作成してみましょう。 ワークフローテンプレートも左メニューのテンプレートより作成します。

ヒント

この実行を使うことにより、より複雑なワークフローが可能になります。Playbook の実行が成功した場合と失敗した場合に、異なる実行パスをレイアウトできます。

実行してみましょう

作成が完了しましたので早速動作させてみましょう♪

jobs view of workflow

ジョブビューでワークフローの実行がどのように表示されるかに注意してください。今回の通常のジョブテンプレートジョブの実行とは対照的に、右側にはプレイブックの出力はありませんが、複数のジョブステップの実行状況が表示されます。各ジョブで実行されたプレイブックの状況を確認したい場合は、各ステップの詳細をクリックしてください。再度ワークフロー実行画面に戻りたい場合は、左の画面の Web App Deloy の右隣にある小さな w-button をクリックしてください。

ジョブが完了した後、すべてがうまく働いたかどうかを確認します。node1、node2またはnode3お使いの制御ホストから以下を実行します。

$ curl http://localhost:8080/coolapp/

ヒント

Tomcat がリクエストに応答するまで、数分待たなければならない場合があります。


Ansible Tower ワークショップ表紙に戻る