開発者は、変更をコミットするたびにオンプレミスの GitHub インスタンスから自動化クラウド テンプレートを取得するパイプラインを必要とします。このパイプラインは、WordPress アプリケーションを Amazon Web Services (AWS) EC2 またはデータセンターに展開するために必要です。Automation Pipelines は、パイプラインからクラウド テンプレートを呼び出し、アプリケーションの展開用にそのクラウド テンプレートの継続的インテグレーションおよび継続的デリバリ (CICD) を自動化します。

パイプラインを作成してトリガするには、Automation Assembler のクラウド テンプレートが必要です。

Automation Pipelines クラウド テンプレート タスクの [テンプレート ソース] で、次のいずれかを選択します。

  • ソース制御として [Automation Assembler]。この場合、GitLab または GitHub リポジトリは必要ありません。
  • ソース制御に GitLab または GitHub を使用している場合、[ソース制御]。この場合は Git Webhook が必要であり、Webhook を介してパイプラインをトリガーする必要があります。

GitHub リポジトリに YAML クラウド テンプレートがあり、パイプラインでそのクラウド テンプレートを使用する場合は、次の操作を実行します。

  1. Automation Assembler で、クラウド テンプレートを GitHub リポジトリにプッシュします。
  2. Automation Pipelines で、Git エンドポイントを作成します。次に、この Git エンドポイントとパイプラインを使用する Git Webhook を作成します。
  3. パイプラインをトリガーするには、GitHub リポジトリ内のファイルを更新し、変更をコミットします。

GitHub リポジトリに YAML クラウド テンプレートがなく、ソース制御のクラウド テンプレートを使用する場合は、この手順を使用してその方法を学習してください。ここでは、WordPress アプリケーション向けにクラウド テンプレートを作成し、オンプレミスの GitHub リポジトリから起動する方法について説明します。YAML クラウド テンプレートに変更を加えると、パイプラインによってアプリケーションのリリースがトリガおよび自動化されます。

  • Automation Assembler で、クラウド アカウントを追加し、クラウド ゾーンを追加して、クラウド テンプレートを作成します。
  • Automation Pipelines で、クラウド テンプレートをホストするオンプレミスの GitHub リポジトリにエンドポイントを追加します。次に、クラウド テンプレートをパイプラインに追加します。

このユースケースの例では、オンプレミスの GitHub リポジトリにあるクラウド テンプレートを使用する方法を示します。

ワークフローは、YAML クラウド テンプレートから展開するアプリケーションのリリースを自動化するプロセスを進める際に役立ちます。

前提条件

手順

  1. Automation Assembler で、次の手順を実行します。
    1. [テンプレート] をクリックし、WordPress アプリケーションのクラウド テンプレートと展開を作成します。
    2. クリップボードにコピーしておいた WordPress YAML コードをクラウド テンプレートに貼り付け、それを展開します。
      YAML コードを使用すると、クラウド テンプレートによって展開内にデータベース層、Web 層、およびネットワークが作成されます。
  2. Automation Pipelines で、エンドポイントを作成します。
    1. YAML ファイルが配置されているオンプレミス GitHub リポジトリ用に Git エンドポイントを作成します。

      オンプレミス GitHub リポジトリの Git エンドポイントで、クラウド プロキシを選択する必要があります。
    2. パイプラインの実行時のステータスをユーザーに通知する E メール エンドポイントを追加します。


      E メール エンドポイントを追加するときは、暗号化方法を設定し、送信プロトコルを設定します。
  3. パイプラインを作成し、パイプラインの成否の通知を追加します。

    E メール通知を追加するときは、パイプラインの状態を 1 つ選択し、メール サーバと受信者を選択します。
  4. 開発のステージを追加し、クラウド テンプレート タスクを追加します。
    1. マシンを展開するクラウド テンプレート タスクを追加して、WordPress アプリケーションのクラウド テンプレート YAML を使用するように設定します。
      resources:
        DBTier:    
          type: Cloud.Machine    
          properties:      
              name: mysql      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  -   tag: zone:dev
        WebTier:
          type: Cloud.Machine    
          properties:     
              name: wordpress      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  - tag: zone:dev
       WP-Network-Private:
          type: Cloud.Network
          properties:
              name: WP-Network-Private
              networkType: existing
              constraints:
                  - tag: 'type:isolated-net'
                  - tag: 'zone:dev'
    2. マシンを破棄してリソースを解放するクラウド テンプレート タスクを追加します。
  5. 本番用のステージを追加し、承認タスクと展開タスクを含めます。
    1. WordPress アプリケーションを本番にプッシュするための承認を要求するユーザー操作タスクを追加します。
    2. マシンを展開するためのクラウド テンプレート タスクを追加し、そこに WordPress アプリケーションのクラウド テンプレート YAML を設定します。
      [作成] を選択するときは、展開の名前を一意にする必要があります。名前を空白のままにすると、 Automation Pipelines によって一意のランダムな名前が割り当てられます。
      自分のユースケースで [ロールバック] を選択する場合には、次のことを知っておく必要があります。 [ロールバック] アクションを選択し、 [ロールバック バージョン] を入力する場合、バージョンは n-X という形式にする必要があります。たとえば、 n-1n-2n-3 などとします。 Automation Pipelines 以外の場所で展開を作成して更新した場合、ロールバックは許可されます。
      クラウド テンプレート タスクでは、VMware クラウド テンプレートを Automation Assembler 内で使用するか GitLab リポジトリまたは GitHub リポジトリのソース管理からプルできます。
  6. パイプラインを実行します。

    各タスクが正常に完了したことを確認するには、実行中のタスクをクリックし、展開の詳細でステータスを確認して、詳細なリソース情報を調べます。

  7. GitHub で、WordPress サーバ インスタンスのフレーバーを small から medium に変更します。
    変更をコミットすると、パイプラインがトリガされます。これにより、更新されたコードが GitHub リポジトリからプルされて、アプリケーションがビルドされます。
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. このパイプラインを再度実行します。パイプラインが正常に完了したことと、WordPress インスタンスのフレーバーが small から medium に変更されたことを確認します。

結果

完了です。YAML クラウド テンプレートから展開したアプリケーションのリリースが自動化されました。

次のタスク

Automation Pipelines の使用方法の詳細については、Automation Pipelines を使用するためのチュートリアルを参照してください。

詳細については、Getting Started with VMware Aria Automationのその他のリソースを参照してください。