了解如何在 AEM as a Cloud Service 中使用 Cloud Manager 管道來將程式碼部署到生產環境中。
將程式碼無縫部署到 Stage,然後再部署到生產是透過生產管道完成的。生產管道執行分為兩個邏輯階段。
只有 Full Stack Code 流水線類型支援程式碼掃描、功能測試、UI 測試和體驗稽核。
在配置了 Pipeline (存放庫、環境和測試環境) 後,您就可以部署程式碼。
在 my.cloudmanager.adobe.com 登入 Cloud Manager 並選取適當的組織。
按一下要部署程式碼的計畫。
按一下部署從號召性用語概觀畫面開始部署過程。
會顯示管道執行畫面。按一下建置,即可開始流程。
構建過程透過三個階段部署您的程式碼。
您可以透過檢視紀錄或檢閱測試標準的結果來查看各種部署流程的步驟。
階段部署階段。涉及這些步驟。
這階段測試階段涉及這些步驟。
產品功能測試- Cloud Manager 管道執行針對舞台環境執行的測試。
自訂功能測試 - 管道中的此步驟一律存在且不能跳過。如果構建沒有生成測試 JAR,則測試預設透過。
自訂 UI 測試是一項選擇性功能,可讓您為自訂應用程式建立和自動執行 UI 測試。
體驗稽核 - 步驟一律存在且不能跳過。在執行生產管道時,在執行檢查的自訂功能測試之後會包含一個體驗稽核步驟。
為了對 AEM 網站訪客的影響降至最低,部署到生產拓撲的流程會略有不同。
生產部署通常會遵循和前述相同的步驟,但採用滾動方式。
本流程會一直持續到部署已經觸及拓撲中的所有發佈者和 Dispatcher 為止。
如果等候使用者回饋意見,以下步驟將逾時:
步驟 | 逾時 |
---|---|
程式碼品質測試 | 14 天 |
安全測試 | 14 天 |
效能測試 | 14 天 |
申請核准 | 14 天 |
生產部署排程 | 14 天 |
CSE 支援 | 14 天 |
所有云服務部署都遵循滾動過程,以確保零停機時間。如需更多資訊,請參閱滾動部署的工作原理。
每次部署都會清除 Dispatcher 快取。它隨後在新發佈節點接受流量之前會做準備。
在極少數情況下,生產部署步驟可能會因暫時原因而失敗。在這種情況下,只要生產部署步驟已經完成,則無論完成類型為何 (例如,取消或失敗),系統都會支援生產部署步驟的重新執行。重新執行會使用相同管道 (由三個步驟組成) 來建立新的執行。
在可以重新執行的情況下,生產管道狀態頁會提供「重新執行」選項 (在一般「下載建置記錄」選項旁)。
在重新執行中,UI 會標示建置步驟,以反映這是在複製成品,而不是重新建置。
除了可在 UI 中使用之外,您還可以使用 Cloud Manager API 觸發重新執行,並且識別被觸發為重新執行的執行。
若要觸發重新執行,請向生產部署步驟狀態的 HAL 連結 https://ns.adobe.com/adobecloud/rel/pipeline/reExecute
發出 PUT 要求。
此連結僅適用於生產部署步驟。
{
"_links": {
"https://ns.adobe.com/adobecloud/rel/pipeline/logs": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
"href": "/api/program/4/pipeline/1/execution?stepId=2983530",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/metrics": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/metrics",
"templated": false
},
"self": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530",
"templated": false
}
},
"id": "6187842",
"stepId": "2983530",
"phaseId": "1575676",
"action": "deploy",
"environment": "weretail-global-b75-prod",
"environmentType": "prod",
"environmentId": "59254",
"startedAt": "2022-01-20T14:47:41.247+0000",
"finishedAt": "2022-01-20T15:06:19.885+0000",
"updatedAt": "2022-01-20T15:06:20.803+0000",
"details": {
},
"status": "FINISHED"
HAL 連結的 href 值的語法僅為參考範例。應總是從 HAL 連結讀取實際值,而不是將其產生。
如果成功,則向此端點提交 PUT 請求會導致 201 回應,而且該回應主體是新執行的表示方式。這類似於透過 API 啟動常規執行。
已重新執行的執行可以透過 trigger
欄位中的值 RE_EXECUTE
來識別。