身為開發人員,您需要在每次認可變更時都從內部部署 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 雲端範本部署之應用程式的程序。

必要條件

  • 將 WordPress 應用程式的 YAML 程式碼新增至 GitHub 執行個體。
  • 為 Git 觸發器新增 webhook,以便每次 commit 變更時,管線均可提取 YAML 程式碼。在 Automation Pipelines 中,按一下觸發器 > Git > 適用於 Git 的 Webhook
  • 若要使用雲端範本工作,您必須擁有任一 Automation Assembler 角色。

程序

  1. Automation Assembler 中,依照下列步驟進行操作。
    1. 按一下範本,然後為 WordPress 應用程式建立雲端範本和部署。
    2. 將複製到剪貼簿的 WordPress YAML 代碼貼至您的雲端範本,然後進行部署。
      透過使用 YAML 代碼,雲端範本會在部署中建立資料庫層、Web 層和網路。
  2. Automation Pipelines 中,建立端點。
    1. 針對 YAML 檔案所在的內部部署 GitHub 存放庫建立 Git 端點。
    2. 新增可在管線執行時向使用者通知管線狀態的電子郵件端點。


      新增電子郵件端點時,設定加密方法並設定輸出通訊協定。
  3. 建立管線,並新增管線成功和失敗的通知。

    新增電子郵件通知時,選取其中一個管線狀態,然後選取電子郵件伺服器和收件者。
  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 以外的任何位置建立和更新部署,將允許執行復原。
      雲端範本工作可以使用 Automation Assembler 中的 VMware 雲端範本,也可以從 GitLab 存放庫或 GitHub 存放庫中的原始檔控制提取一個雲端範本。
  6. 執行管線。

    若要確認每項工作是否已成功完成,請按一下執行中的工作,然後檢查部署詳細資料中的狀態,以查看詳細的資源資訊。

  7. 在 GitHub 中,將 WordPress 伺服器執行個體的類型模板從 small 修改為 medium
    當您 commit 變更時,管線會觸發。它會從 GitHub 存放庫中提取更新的程式碼,並建置應用程式。
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. 再次執行管線,確認其是否成功,以及是否將 WordPress 執行個體的類型模板從變更為

結果

恭喜您!您已設定自動發行從 YAML 雲端範本部署的應用程式。

下一步

若要進一步瞭解如何使用 Automation Pipelines,請參閱使用 Automation Pipelines 的教學課程

如需詳細資訊,請參閱 VMware Aria Automation 入門》下的其他資源。