身為開發人員,您需要在每次認可變更時都從內部部署 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 雲端範本,並且想要在管線中使用該雲端範本,則以下是您需要執行的動作。
- 在 Automation Assembler 中,將雲端範本推送至 GitHub 存放庫。
- 在 Automation Pipelines 中,建立 Git 端點。然後,建立使用 Git 端點和管線的 Git webhook。
- 若要觸發管線,請更新 GitHub 存放庫中的任何檔案,並認可變更。
如果 GitHub 存放庫中沒有 YAML 雲端範本,並且想要從原始檔控制使用雲端範本,請使用此程序來瞭解如何操作。此程序說明了如何為 WordPress 應用程式建立雲端範本,以及如何從內部部署 GitHub 存放庫進行觸發。每當您變更 YAML 雲端範本時,管線都會觸發並自動執行應用程式的發行程序。
- 在 Automation Assembler 中,您將新增雲端帳戶、新增雲端區域,以及建立雲端範本。
- 在 Automation Pipelines 中,您將為主控雲端範本的內部部署 GitHub 存放庫新增端點。然後,將雲端範本新增至管線。
此使用案例範例顯示如何使用內部部署 GitHub 存放庫中的雲端範本。
必要條件
- 將 WordPress 應用程式的 YAML 程式碼新增至 GitHub 執行個體。
- 為 Git 觸發器新增 webhook,以便每次 commit 變更時,管線均可提取 YAML 程式碼。在 Automation Pipelines 中,按一下。
- 若要使用雲端範本工作,您必須擁有任一 Automation Assembler 角色。
程序
- 在 Automation Assembler 中,依照下列步驟進行操作。
- 按一下範本,然後為 WordPress 應用程式建立雲端範本和部署。
- 將複製到剪貼簿的 WordPress YAML 代碼貼至您的雲端範本,然後進行部署。
- 在 Automation Pipelines 中,建立端點。
- 針對 YAML 檔案所在的內部部署 GitHub 存放庫建立 Git 端點。
- 新增可在管線執行時向使用者通知管線狀態的電子郵件端點。
- 建立管線,並新增管線成功和失敗的通知。
- 新增開發階段,並新增雲端範本工作。
- 新增用於部署機器的雲端範本工作,並將此工作設定為使用 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'
- 新增用於銷毀機器以釋放資源的雲端範本工作。
- 新增用於生產的階段,並加入核准和部署工作。
- 新增使用者作業工作,以要求需要核准才能將 WordPress 應用程式推送至生產環境。
- 新增用於部署機器的雲端範本工作,並使用 WordPress 應用程式的雲端範本 YAML 對其進行設定。
當您選取
建立時,部署名稱必須是唯一的。如果將名稱保留空白,
Automation Pipelines 將為其隨機指派唯一的名稱。
如果在自己的使用案例中選取
復原,則必須瞭解以下內容:如果選取
復原動作並輸入
復原版本,則版本必須採用
n-X 格式。例如,
n-1、
n-2、
n-3 等等。如果在
Automation Pipelines 以外的任何位置建立和更新部署,將允許執行復原。
- 執行管線。
若要確認每項工作是否已成功完成,請按一下執行中的工作,然後檢查部署詳細資料中的狀態,以查看詳細的資源資訊。
- 在 GitHub 中,將 WordPress 伺服器執行個體的類型模板從
small
修改為 medium
。
當您 commit 變更時,管線會觸發。它會從 GitHub 存放庫中提取更新的程式碼,並建置應用程式。
WebTier:
type: Cloud.Machine
properties:
name: wordpress
image: 'ubuntu-16'
flavor: 'medium'
constraints:
- tag: zone:dev
- 再次執行管線,確認其是否成功,以及是否將 WordPress 執行個體的類型模板從小變更為中。
結果
恭喜您!您已設定自動發行從 YAML 雲端範本部署的應用程式。
下一步
若要進一步瞭解如何使用 Automation Pipelines,請參閱使用 Automation Pipelines 的教學課程。
如需詳細資訊,請參閱 《VMware Aria Automation 入門》下的其他資源。