部署程式碼

使用Cloud Manager部署程式碼

注意

若要了解如何在AEMas a Cloud Service中部署Cloud Manager的程式碼,請參閱此處

一旦配置了生產管道(儲存庫、環境和測試環境),您就可以部署代碼。

  1. 按一下Cloud Manager中的​Deploy​以啟動部署過程。

  2. 將顯示​Pipeline Execution​螢幕。

    按一下​Build​以啟動進程。

  3. 完成的建置程式會部署您的程式碼。

    建置程式涉及下列階段:

    1. 階段部署
    2. 階段測試
    3. 生產部署
    注意

    此外,您也可以檢視記錄或檢閱測試條件的結果,以檢閱各種部署程式的步驟。

    舞台部署」涉及以下步驟:

    • 驗證:此步驟可確保管道配置為使用當前可用資源,例如,配置的分支存在,環境可用。
    • 構建和單元測試:此步驟會執行容器化的建置程式。 如需有關建置環境的詳細資訊,請參閱了解建置環境
    • 代碼掃描:此步驟會評估應用程式程式碼的品質。 如需測試程式的詳細資訊,請參閱了解測試結果
    • 部署至預備

    階段測試​涉及以下步驟:

    • 安全測試:此步驟會評估應用程式程式碼對AEM環境的安全性影響。 如需測試程式的詳細資訊,請參閱了解測試結果
    • 效能測試:此步驟會評估應用程式程式碼的效能。 如需測試程式的詳細資訊,請參閱了解測試結果

    生產部署​涉及以下步驟:

    • 申請核准 (如果已啟用)
    • 排程生產部署 (如果已啟用)
    • CSE支援 (如果已啟用)
    • 部署至生產環境

    注意

    在設定管道時,會啟用​排程生產部署

    使用此選項,可以計畫生產部署,或按一下​Now​立即執行生產部署。

    排程的日期和時間會根據使用者的時區指定。

    按一下​確認​以驗證您的設定。

    確認部署排程後,程式碼部署即告完成。

    從上述步驟中選取​Now​選項時,會顯示下列畫面。

逾時

如果讓您等候使用者意見回饋,下列步驟會逾時:

步驟 逾時
程式碼品質測試 7天
安全性測試 7天
效能測試 7天
申請批准 7天
排程生產部署 7天
CSE支援 7天

部署過程

以下章節說明如何在階段階段和生產階段部署AEM和Dispatcher套件。

Cloud Manager會將建置程式產生的所有target/*.zip檔案上傳至儲存位置。 在管道的部署階段,會從此位置檢索這些對象。

當Cloud Manager部署至非生產拓撲時,目標是盡快完成部署,因此成品會同時部署至所有節點,如下所示:

  1. Cloud Manager會判斷每個工件是AEM或Dispatcher套件。

  2. Cloud Manager會從負載平衡器中移除所有調度程式,以在部署期間隔離環境。

    除非另有配置,否則您可以跳過開發和階段部署中的負載平衡器更改,即分離和附加非生產管道中的步驟,用於開發環境,以及生產管道,用於預備環境。

    注意

    此功能預計主要供1-1-1名客戶使用。

  3. 每個AEM工件都會透過套件管理器API部署至每個AEM執行個體,且套件相依性會決定部署順序。

    要進一步了解如何使用包來安裝新功能、在實例之間轉移內容以及備份儲存庫內容,請參閱如何使用包。

    注意

    所有AEM成品都部署至作者和發佈者。 需要節點特定設定時,應運用執行模式。 若要進一步了解執行模式可如何讓您針對特定用途調整AEM執行個體,請參閱執行模式。

  4. Dispatcher工件會依下列方式部署至每個Dispatcher:

    1. 當前配置被備份並複製到臨時位置
    2. 除不可變的檔案外,所有配置都將被刪除。 如需詳細資訊,請參閱管理Dispatcher設定。 這會清除目錄,以確保不會留下任何孤立的檔案。
    3. 將對象提取到httpd目錄。 不可覆寫的檔案。 在部署時,您對Git存放庫中不可變的檔案所做的任何變更都會被忽略。 這些檔案是AMS Dispatcher架構的核心,無法變更。
    4. Apache會執行設定測試。 若未找到錯誤,則會重新載入服務。 如果發生錯誤,則會從備份還原設定、重新載入服務,並將錯誤回報至Cloud Manager。
    5. 管道設定中指定的每個路徑都會失效或從Dispatcher快取中清除。
    注意

    Cloud Manager預期Dispatcher工件會包含完整的檔案集。 所有Dispatcher設定檔都必須存在於Git存放庫中。 缺少檔案或資料夾將導致部署失敗。

  5. 成功將所有AEM和Dispatcher套件部署至所有節點後,Dispatcher會新增回負載平衡器,且部署完成。

    注意

    您可以跳過開發和預備部署中的負載平衡器更改,即在非生產管道、開發人員環境和生產管道中(用於預備環境)分離和附加步驟。

部署至生產階段

部署至生產拓撲的程式稍有不同,以將對AEM網站訪客的影響降至最低。

生產部署通常會依照上述步驟進行,但以滾動方式進行:

  1. 部署AEM套件以製作。
  2. 從負載平衡器分離dispatcher1。
  3. 將AEM套件部署至publish1,並將Dispatcher套件並行部署至Dispatcher1,排清Dispatcher快取。
  4. 將dispatcher1放回負載平衡器。
  5. 當dispatcher1重新服務後,請從負載平衡器分離dispatcher2。
  6. 將AEM套件部署至publish2,並將Dispatcher套件並行部署至Dispatcher2,排清Dispatcher快取。
  7. 將dispatcher2放回負載平衡器。
    此過程將繼續,直到部署已到達拓撲中的所有發佈商和調度程式。

緊急管道執行模式

在緊急情況下,Adobe Managed Services客戶可能需要將程式碼變更部署至其預備和生產環境,而不需等待Cloud Manager完整測試週期執行。

為了解決這些情況,Cloud Manager生產管道可以在​緊急​模式下執行。 使用此模式時,不會執行安全和效能測試步驟;所有其他步驟(包括任何已設定的核准步驟)則以正常管道執行模式中的方式執行。

注意

緊急管道執行模式功能由客戶成功工程師按程式啟動。

使用緊急管道執行模式

在啟動生產管道執行時,如果已激活此功能,則可以從對話框以正常或緊急模式啟動執行,如下圖所示。

此外,查看在緊急模式下運行的執行的管道執行詳細資訊頁面時,螢幕頂部的瀏覽路徑標示將顯示用於此特定執行的緊急模式指示器。

您也可以透過Cloud Manager API或CLI,在此緊急模式下建立管道執行。 要在緊急模式下啟動執行,請使用查詢參數?pipelineExecutionMode=EMERGENCY或在使用CLI時向管道的執行端點提交PUT請求:

$ aio cloudmanager:pipeline:create-execution PIPELINE_ID --emergency
重要

使用--emergency標幟可能需要更新至最新的aio-cli-plugin-cloudmanager版本。

本頁內容