若要在 Code Stream 中建立持續整合和持續交付 (CICD) 管線,您可以手動新增階段和工作。若要規劃 CICD 原生建置,您將收集所需的資訊,然後建立管線並手動向其新增階段和工作。

您必須規劃管線的持續整合 (CI) 和持續交付 (CD) 階段。建立並執行管線後,您可以監控管線執行中的趨勢。

若要規劃管線的 CI 和 CD 階段,您將在管線建立之前,確認已滿足所有需求。

規劃外部和內部需求

若要從此範例計劃建立管線,您將使用 Docker 主機、Git 存放庫、Maven 和數個後續處理建置工具。

您將需要以下雲端式或遠端內部部署端點和存放庫:

  • 您的開發人員簽入程式碼的 Git 原始程式碼存放庫。當開發人員認可變更時, Code Stream 會將最新程式碼提取到管線。
  • 用於 Docker 建置主機的 Docker 端點,將在容器內執行建置命令。
  • Kubernetes 端點,可讓 Code Stream 將您的映像部署到 Kubernetes 叢集。
  • 產生器映像,用於建立執行持續整合測試的容器。
  • 映像登錄端點,可讓 Docker 建置主機從中提取產生器映像。

您將需要專案的存取權。專案會對所有工作進行分組,包括您的管線、端點和儀表板。確認您是 Code Stream 中的專案的成員。如果您不是管理員,請要求 Code Stream 管理員將您新增為專案成員。請參閱如何在 VMware Code Stream中新增專案

您將需要可讓 Code Stream 使用 Git 觸發器的 Git webhook,當開發人員 commit 程式碼變更時,會觸發管線。請參閱如何在 Code Stream 中使用 Git 觸發器執行管線

如何建立 CICD 管線並設定工作區

您將需要建立管線,然後設定工作區、管線輸入參數和工作。

若要建立管線,您可以按一下管線 > 新增管線 > 空白畫布

從空白畫布建立管線。

在 [工作區] 索引標籤上,輸入持續整合資訊:

  • 包含您的 Docker 建置主機。
  • 輸入產生器映像的 URL。
  • 選取映像登錄端點,以便管線可從中提取映像。容器會執行 CI 工作並部署映像。如果登錄需要認證,您必須先建立映像登錄端點,然後在此處選取該端點,以便主機可以從登錄提取映像。
  • 新增必須快取的構件。若要成功建置,可以將目錄等構件下載為相依性構件。快取是這些構件所在的位置。例如,相依構件可包含 Maven 的 .m2 目錄和 Node.js 的 node_modules 目錄。為了在建置期間節省時間,這些目錄會跨管線執行快取。

    在管線中設定工作區。

在 [輸入] 索引標籤上,設定管線輸入參數。

  • 如果您的管線將使用來自 Git、Gerrit 或 Docker 觸發器事件的輸入參數,請選取自動插入參數的觸發器類型。事件可包含 Gerrit 或 Git 的變更主題,或 Docker 的事件擁有者名稱。如果管線將不會使用從該事件傳遞的任何輸入參數,請將自動插入參數設定為
  • 若要將值和說明套用至管線輸入參數,請按一下三個垂直點,然後按一下編輯。您輸入的值將用作工作、階段或通知的輸入。
  • 若要新增管線輸入參數,請按一下新增。例如,您可以新增 approvers 來顯示每次執行的預設值,但可以進行覆寫以在執行階段顯示不同的核准者。
  • 若要新增或移除插入的參數,請按一下新增/移除插入的參數。例如,移除未使用的參數來減少結果頁面上雜亂的內容,並僅顯示正在使用的輸入參數。

    在 CICD 管線中設定 [輸入] 索引標籤。

設定管線以測試程式碼:

  • 新增並設定 CI 工作。
  • 包含對程式碼執行 mvn test 的步驟。
  • 執行後續處理建置工具,例如 JUnit 和 JaCoCo、FindBugs 以及 Checkstyle,在執行工作後識別所有問題。

    設定管線工作以測試程式碼。

設定管線以建置程式碼:

  • 新增並設定 CI 工作。
  • 包含對程式碼執行 mvn clean install 的步驟。
  • 包括位置和 JAR 檔案名稱,以便保留您的構件。

    設定管線工作以建置程式碼。

設定管線以將映像發佈到 Docker 主機:

  • 新增並設定 CI 工作。
  • 新增將認可、匯出、建置和推送映像的步驟。
  • 新增 IMAGE 的匯出金鑰,以供下一個工作耗用。

    設定管線工作以將映像發佈到 Docker 主機。

設定工作區、輸入參數、測試工作並建置工作之後,儲存您的管線。

如何啟用並執行管線

透過階段和工作設定管線後,您可以儲存並啟用管線。

然後,等待管線執行並完成,然後確認其是否成功。如果失敗,請更正任何錯誤並再執行一次。

管線成功後,您可能想要確認以下事項:

  • 檢查管線執行並檢視工作步驟的結果。
  • 在管線執行的工作區中,找到有關容器和已複製 Git 存放庫的詳細資料。
  • 在工作區中,查看後續處理工具結果並檢查錯誤、程式碼涵蓋範圍、錯誤和樣式問題。
  • 確認您的構件已保留。此外,請確認已使用 IMAGE 名稱和值匯出映像。
  • 移至 Docker 存放庫,並確認管線已發佈您的容器。

如需顯示 Code Stream 如何持續整合程式碼的詳細範例,請參閱如何在 VMware Code Stream 中將 GitHub 或 GitLab 存放庫中的程式碼持續整合到管線