新增非生產管道 configuring-non-production-pipelines
在Cloud Manager UI中設定方案並建立至少一個環境後,您可以新增非生產管道。 這些管道可讓您在部署到生產環境之前測試計畫碼品質。
使用者必須擁有 部署管理員 角色才能設定非生產管道。
新增一個全新非生產管道 adding-non-production-pipeline
在您設定方案並在Cloud Manager UI中建立至少一個環境後,您可以新增非生產管道。 在部署到生產環境之前,使用這些管道來測試計畫碼品質。
若要新增非生產管道:
-
在 experiece.adobe.com 登入 Cloud Manager。
-
在「快速存取」區段中,按一下「Experience Manager」。
-
在左側面板中,按一下「Cloud Manager」。
-
選取您想要的組織。
-
在「我的程式」控制台中,按一下某個程式。
-
在左側面板中,按一下管道。
-
在 管道 頁面的右上角附近,按一下新增管道 > 新增非生產管道。
-
在 新增非生產管道 對話方塊的 設定 索引標籤上,選取您要建立的下列非生產管道之一:
- 程式碼品質管道 — 建立在GIT分支上建置程式碼、執行單元測試和評估程式碼品質的管道,而不部署至環境。
- 部署管道 — 建立管道,用於建置程式碼、執行單元測試、評估程式碼品質,以及部署到非生產環境。
-
在 管道設定 區段的 非生產管道名稱 欄位中,輸入非生產管道的說明。
-
在 部署選項 區段下,選取您要使用的下列部署觸發程式之一:
- 手動 - 讓您能手動啟動管道。
- 在 Git 變更時 - 當認可版本新增到所設定的 Git 分支時啟動管道。使用此選項,您仍然可以在必要時手動啟動管道。
-
選取您要使用的重要量度失敗行為。
- 每次都詢問 - 此行為是預設設定,要求對任何重要失敗進行手動介入。
- 立即失敗 - 如果選取,則每當重要失敗發生時,會取消管道。它基本上會模擬使用者手動拒絕每個失敗。
- 立即持續 - 如果選取,則每當重要失敗發生時,管道會自動繼續。它基本上會模擬使用者手動核准每次失敗。
-
按一下「繼續」。
-
您用於完成非生產管道設定的剩餘步驟,取決於您選擇使用的原始碼型別。
在 新增非生產管道 對話方塊的 Source程式碼 索引標籤上,選取非生產管道應處理的程式碼型別。如需有關管道型別的詳細資訊,請參閱CI/CD管道。
我使用完整棧疊計畫碼 full-stack-code
完整棧疊計畫碼管道同時部署包含一個或多個AEM伺服器應用程式以及HTTPD/Dispatcher配置的後端和前端計畫碼構建。
若要完成完整棧疊計畫碼非生產管道的設定,請執行以下操作:
-
在 Source程式碼 區段中,定義下列選項。
-
合格的部署環境 — 僅當您編輯非生產管道時可用。 如果您的管道是部署管道,則必須選擇它應該部署到哪些環境。
-
存放庫 — 從下拉式清單中,選擇管道用作其來源的Git存放庫。 Cloud Manager會從您在此選擇的存放庫建置程式碼。
note tip TIP 請參閱新增和管理存放庫,以便了解如何在 Cloud Manager 中新增和管理存放庫, -
Git分支 — 從下拉式清單中,選擇管道建置應在所選存放庫中的哪個分支。 預設值為
main。 管道使用所選分支作為構建和部署的來源。 如有必要,請按一下[重新整理] 來更新所選存放庫的可用分支清單。 如果最近建立的分支未出現在清單中,請使用此選項。 -
建置策略
-
完整組建 — 每次都會建置存放庫中的所有模組
-
Beta 智慧型組建 — 僅建置自上次認可後已變更的模組。
進一步瞭解在非生產管道中使用Smart Build。note important IMPORTANT 智慧型組建僅適用於計畫碼品質管道和開發完整棧疊計畫碼部署管道。
-
-
忽略Web層設定核取方塊 — 勾選後,管道不會部署您的Web層設定。
-
-
在 管道 區段中,如果您的管道是部署管道,您可以選擇執行測試階段。 確認您希望在此階段啟用的選項。如果沒有選取任何選項,則在管道執行期間不會顯示測試階段。
-
按一下「儲存」。
管道已儲存,您現在可以[管理您的管道](managing-pipe)
lines.md) (位於 方案總覽 頁面上的 管道 卡上)。
我正在使用目標部署 targeted-deployment
目標部署只會為AEM應用程式的選定部分部署程式碼。 在這種部署中,您可以選擇 包含 下列其中一個型別的程式碼:
-
前端計畫碼 — 為AEM應用計畫的前端設定JavaScript和CSS。
- 有了前端管道,給前端開發者更多的獨立性,可以加快開發進程。
- 請參閱文件使用前端管道開發網站 了解此程序的工作原理以及需要注意的一些注意事項,以充分發揮此程序的潛力。
-
網頁層設定 — 設定Dispatcher屬性,以儲存、處理及傳送網頁給使用者端。
-
如需詳細資訊,請參閱檔案CI/CD管道。
-
如果所選環境存在 Web 層程式碼管道,則此選項會停用。
-
如果完整棧疊管道已部署到環境,您仍然可以為該同一環境建立Web層配置管道。 若您這麼做,Cloud Manager會忽略完整棧疊管道中的網頁層設定。
note note NOTE 私人存放庫不支援 Web 層和設定管道。請參閱在Cloud Manager中新增私人存放庫,以取得詳細資訊和完整的限制清單。
-
-
在 Source程式碼 區段下,定義下列選項:
-
存放庫 — 此選項會定義非生產管道應該從哪個GIT存放庫擷取程式碼。
note tip TIP 請參閱新增和管理存放庫,以便了解如何在 Cloud Manager 中新增和管理存放庫, -
Git分支 — 此選項會定義所選管道中應該從哪個分支擷取程式碼。 輸入分支名稱的前幾個字元,該欄位的自動完成功能。會尋找相符的分支以幫助您進行選取。
-
程式碼位置 - 此選項會定義管道應從所選存放庫的分支中擷取程式碼的路徑。
-
-
如果您已啟用體驗稽核,請按一下「繼續」以前往「體驗稽核」標籤,您可以在其中定義應一律包含在體驗稽核中的路徑。
- 如果您已啟用體驗稽核,請參閱檔案體驗稽核以瞭解如何設定的詳細資訊。
- 如果您沒有這麼做,請略過此步驟。
-
按一下儲存,即可儲存管道。
管道已儲存,您現在可以在 計劃概觀 頁面的 管道 卡上管理您的管道。
關於在非生產管道中使用Smart Build about-smart-build
Cloud Manager中的 智慧型組建 是非生產管道的最佳組建策略。 Smart Build會快取模組,並只重新建置自上次成功執行後已變更的模組,藉此縮短建置時間。 未變更的模組會從快取中重複使用,而只會重建已修改的模組及其相依性,進而提高反複開發工作流程的效率。
Smart Build目前僅適用於下列專案:
- 計畫碼品質管道。
- 開發完整棧疊部署管道。
發生下列情況時,建議使用Smart Build:
- 您正在積極開發和提交頻繁的增量變更。
- 您的專案包含多個Maven模組。
- 完整組建需要相當長的時間。
有以下情況時,Smart Build並不總是理想的選擇:
- 您的組建嚴重依賴外掛程式,這些外掛程式會在Maven的相依性圖表之外執行操作。
- 每次執行都需要完整重建驗證。
瞭解組建效能 smart-build-performance
使用Smart Build的效能提升取決於幾個因素,包括:
- 專案中的模組數。
- 程式碼變更的頻率和範圍。
- 跨模組的相依性分佈。
一般而言,具有許多獨立模組的專案可以有最大的改善。
每個模組快取選擇退出 smart-build-cache-optout
Smart Build提供可讓您停用特定模組快取的精細控制項。 此功能在某些模組中相當實用:
- 使用外掛程式,例如
exec-maven-plugin或maven-antrun-plugin。 - 執行Maven相依性未追蹤的檔案操作。
- 快取內容會產生不一致的結果。
停用模組的快取 smart-build-disable-caching
您可以將下列屬性新增至受影響模組的pom.xml:
<properties>
<maven.build.cache.enabled>false</maven.build.cache.enabled>
</properties>
此語法會強制模組在每次管道執行時重建,而其他模組會繼續受益於快取。
使用Smart Build時的限制和考量 smart-build-limitations
使用Smart Build時,請記得下列事項:
- Smart Build仰賴Maven相依性分析。
- 相依性圖表以外的變更可能不會觸發重新建置。
- 有些外掛程式可能與快取不完全相容。
- 您可以透過編輯非生產管道隨時切換回完整組建。
如果您遇到非預期的建置行為,請考慮停用特定模組的快取,或暫時將建置策略切換為完整建置。
疑難排解智慧型組建問題 smart-build-troubleshoot
·驗證外掛程式行為(尤其是
exec/antrun外掛程式)。·檢查大多數模組是否頻繁變更。
·使用 完整組建 進行驗證。
請參閱啟用Smart Build時新增非生產管道。
排除Dispatcher套件 exclude-dispatcher-packages
如果您想要在管道中建置Dispatcher套件,但未上傳到建置儲存,請停用發佈。 這樣做可以縮短管道的執行時間。
將下列設定新增至您的專案pom.xml檔案,以停用發佈Dispatcher套件。 在Cloud Manager建置容器中設定環境變數,以標幟何時忽略Dispatcher套件。 管道會讀取此旗標並據此忽略它們。
<profile>
<id>only-include-dispatcher-when-it-isnt-ignored</id>
<activation>
<property>
<name>env.IGNORE_DISPATCHER_PACKAGES</name>
<value>!true</value>
</property>
</activation>
<modules>
<module>dispatcher</module>
</modules>
</profile>