身為開發人員,您需要在每次認可變更時都從內部部署 GitHub 執行個體擷取自動化雲端範本的管線。您需要使用管線將 WordPress 應用程式部署到 Amazon Web Services (AWS) EC2 或資料中心。 Code Stream 從管線呼叫雲端範本,並自動執行該雲端範本的持續整合與持續交付 (CICD) 以部署應用程式。

若要建立並觸發管線,您將需要一個 VMware 雲端範本。

對於 Code Stream 雲端範本工作中的雲端範本來源,您可以選取下列其中一項:

  • Cloud Assembly 範本,以作為原始檔控制。在此情況下,無需 GitLab 或 GitHub 存放庫。
  • 原始檔控制 (如果將 GitLab 或 GitHub 用於原始檔控制)。在此情況下,您必須具有 Git webhook,並透過 webhook 觸發管線。

如果 GitHub 存放庫中有 YAML 雲端範本,並且想要在管線中使用該雲端範本,則以下是您需要執行的動作。

  1. VMware Cloud Assembly 中,將雲端範本推送至 GitHub 存放庫。
  2. Code Stream 中,建立 Git 端點。然後,建立使用 Git 端點和管線的 Git webhook。
  3. 若要觸發管線,請更新 GitHub 存放庫中的任何檔案,並認可變更。

如果 GitHub 存放庫中沒有 YAML 雲端範本,並且想要從原始檔控制使用雲端範本,請使用此程序來瞭解如何操作。此程序說明了如何為 WordPress 應用程式建立雲端範本,以及如何從內部部署 GitHub 存放庫進行觸發。每當您變更 YAML 雲端範本時,管線都會觸發並自動執行應用程式的發行程序。

  • VMware Cloud Assembly 中,您將新增雲端帳戶、新增雲端區域,以及建立雲端範本。
  • Code Stream 中,您將為主控雲端範本的內部部署 GitHub 存放庫新增端點。然後,將雲端範本新增至管線。

此使用案例範例顯示如何使用內部部署 GitHub 存放庫中的雲端範本。

自動發行從 YAML 雲端範本部署的應用程式的工作流程。

必要條件

程序

  1. VMware Cloud Assembly 中,依照下列步驟進行操作。
    1. 按一下 VMware Cloud Templates,然後為 WordPress 應用程式建立雲端範本和部署。
    2. 將複製到剪貼簿的 WordPress YAML 代碼貼至您的雲端範本,然後進行部署。
      範例 WordPress 雲端範本。
  2. Code Stream 中,建立端點。
    1. 針對 YAML 檔案所在的內部部署 GitHub 存放庫建立 Git 端點。
      針對內部部署 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 對其進行設定。
      當您選取 建立時,部署名稱必須是唯一的。如果將名稱保留空白, Code Stream 將為其隨機指派唯一的名稱。
      如果在自己的使用案例中選取 復原,則需要瞭解以下內容:如果選取 復原動作並輸入 復原版本,則版本必須採用 n-X 格式。例如, n-1n-2n-3 等等。如果在 Code Stream 以外的任何位置建立和更新部署,將不允許執行復原。
      當您登入 Code Stream 時,便會取得使用者 Token,此 Token 的有效期為 30 分鐘。對於執行持續時間較長的管線,如果雲端範本工作之前的工作需要 30 分鐘或更長時間來執行,則使用者 Token 會到期。因此,雲端範本工作會失敗。
      若要確保管線的執行時間超過 30 分鐘,您可以輸入選擇性 API Token。當 Code Stream 叫用雲端範本時,API Token 會持續存在,且雲端範本工作會繼續使用 API Token。
      當您將 API Token 當作變數使用時,會將其加密。否則,它會以純文字形式使用。
      新增用於 Wordpress 應用程式部署的雲端範本工作。
  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 雲端範本部署的應用程式。

後續步驟

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

如需其他參考,請參閱供 VMware Code Stream 管理員和開發人員使用的更多資源