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

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

當管線包含來自 Docker Hub 的映像時,您必須在執行管線之前確保該映像已內嵌 cURLwget。當管線執行時, Code Stream 將下載使用 cURLwget 執行命令的二進位檔案。

Code Stream 管線工作區支援使用 Docker 和 Kubernetes 執行持續整合工作和自訂工作。

如需設定工作區的相關資訊,請參閱設定管線工作區

規劃外部和內部需求

若要規劃管線的 CI 和 CD 階段,以下需求指明了在建立管線之前必須執行的動作。

此範例使用 Docker 工作區。

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

您將需要的端點和存放庫:

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

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

設定管線以建置程式碼:

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

    若要建置代碼,請在 CI 工作中新增步驟。

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

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

    若要將映像發佈到 Docker 主機,請在 CI 工作中新增步驟和匯出金鑰。

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

如何啟用並執行管線

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

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

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

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

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