第 2 部分:設定 CI 工具鏈
本教學教導您如何使用工具鏈模板進行持續整合 (CI)。 範本已預先設定為持續部署 (CD),包含庫存整合、變更管理 Git Repos and Issue Tracking、證據收集,以及部署至 IBM Cloud Kubernetes Service。
您可以自訂和集中管理企業中帳戶的 IAM 設置,以滿足合規性和內部標準。
開始之前
- 完成 設定先決條件 教程。
- 觀看以下視訊:
啟動 CI 工具鏈設定
這Continuous Delivery服務提供的範本可引導您完成工具鏈設定並以邏輯順序建立流程。 進度指示器會顯示完成配置的步驟。 請依照下列步驟存取 CI 工具鏈的範本。
- 在IBM Cloud控制台中,點選選單圖示
>平台自動化>工具鏈。
- 在「工具鏈」頁面中,按一下建立工具鏈。
- 點選 CI - 開發安全應用程式DevSecOps實踐瓦。
設定 CI 工具鏈設置
歡迎頁面總結了工具鏈的用途以及文件和相關資料的指針。
-
按一下啟動。
-
輸入唯一的工具鏈名稱在同一區域和資源組的工具鏈中IBM Cloud。
-
選取地區。
-
選取資源群組。
-
按一下繼續。
只有在現行步驟的配置完成且有效時,您才能進入下一步。 您可以隨時點擊後退查看引導安裝程式中的先前步驟。 工具鏈安裝程式會保留後續步驟中的所有配置設定。
一些步驟包括切換到進階配置切換按鈕。 預設情況下,這些步驟為您提供最低配置。 但是,需要更細粒度控制的進階使用者可以點擊切換到進階配置切換以顯示底層整合的選項。
設定 CI 工具整合
檢查預設設定並在必要時提供使用者定義的配置以設定 CI 工具整合。
應用程式
- 選擇來源提供者作為 Git Repos and Issue Tracking。
- 工具鏈的預設行為是使用預設範例應用程式。 該工具鏈目前僅支援連結到現有的Git Repos and Issue Tracking儲存庫。 如果使用您自己的應用程式/服務原始碼儲存庫,請參閱:
- 將您自己的應用程式引入DevSecOps。
- 使用推斷的 DevSecOps管道配置功能自動配置DevSecOps管道。
- 輸入唯一的名稱新儲存庫名稱。
- 按一下繼續。
庫存
庫存儲存庫會記錄 CI 工具鏈所建置構件的詳細資料。
- 您可以接受範本中提供的預設配置,也可以根據您的要求編輯配置。
- 按一下繼續。
問題
問題儲存庫會記錄在 CI 管線執行時發現的問題。
- 您可以接受範本中提供的預設配置,也可以根據您的要求編輯配置。
- 按一下繼續
密碼
使用切換按鈕指定要新增到工具鏈中的秘密保管庫整合。 有關更多信息,請參閱 管理IBM Cloud秘密。
CI 工具鏈僅支援 任意密碼 及 IAM 認證 密碼類型。
- 本指導教學使用 IBM Cloud® Secrets Manager 作為密鑰的儲存庫。 區域、資源群組及 服務名稱 欄位會根據可用的選項自動移入。 選擇下拉指示器以查看其他選項。
- 輸入您的 Secrets Manager實例名稱。
- 選擇授權類型。
- 按一下繼續。
證明儲存體
證據櫃會儲存 DevSecOps CI pipeline 所產生的所有證據和工件。
- 切換IBM Cloud Object Storage存儲桶滑塊將所有證據存儲在IBM Cloud Object Storage可以在下一頁配置的儲存桶。
- 接受預設設定。
- 按一下繼續。
雲端 Object Storage 儲存區
您必須擁有 IBM Cloud® Object Storage 實例,並建立一個用作合規性證據儲存庫 的Cloud Object Storage 儲存桶。
- 這雲Object Storage實例,桶名稱,和雲Object Storage終點欄位會自動填入。
- 輸入您的服務 ID API 金鑰。
- 偏好: 透過按一下金鑰圖示,可以從密鑰儲存庫匯入現有金鑰。
- 可以複製和貼上現有密鑰。
- 按一下繼續。
端點欄位是可選的。 建議在工具鏈設定期間或管線執行期間選取或提供端點。
部署
配置目標Kubernetes部署應用程式的叢集。
-
使用預設值應用程式名稱
hello-compliance-app。 -
輸入你的 IBM Cloud API金鑰。 API 金鑰用於與IBM Cloud CLI 工具可用於多個任務。
- 偏好: 透過按一下金鑰圖示,可以從密鑰儲存庫匯入現有金鑰。
- 可以複製和貼上現有密鑰。
- 您可以按一下 新建 +,從這裡建立新的金鑰。
新產生的 API 金鑰可以立即儲存至密鑰儲存庫。
-
如果 API 金鑰有效且具有足夠的存取權限,則 Container Registry,Container Registry名稱空間,開發集群區域,資源組,叢集名稱,叢集命名空間會自動填充。 您可以更改這些欄位中的任何一個以符合您的配置。
-
按一下繼續。
構件簽署
工件由工具鏈建置並記錄在清單中,在部署到生產之前必須進行簽署。
- 輸入 GnuPG私鑰。 或者,您可以透過點擊建立新的 GPG 金鑰新的。 有關更多信息,請參閱 產生 GPG 金鑰。
- 按一下繼續。
DevOps Insights
這 IBM Cloud DevOps Insights 包含在工具鏈中。 從每個部署和環境檢視每個建置的管線測試結果。
- 接受預設配置。
- 按一下繼續。
SonarQube
配置SonarQube作為工具鏈的靜態程式碼分析工具。 SonarQube 提供原始碼整體性能及品質的概觀,並強調顯示在新程式碼中找到的問題。 靜態程式碼分析器可偵測多種程式語言的棘手錯誤,例如取消引用 null-pointer、邏輯錯誤和資源洩漏。
- 接受預設設定。
- 按一下繼續。
選用工具
Slack
配置 鬆弛 接收有關拉取請求或 CI 管道事件的通知。 您也可以在建立工具鏈後新增 Slack 工具。
- 輸入您的 Slack webhook。 有關更多信息,請參閱 Slack webhook。
- 輸入您的鬆弛通道發布訊息。
- 輸入鬆弛團隊名稱。 例如,如果您的團隊 URL
https://team.slack.com,團隊名稱就是team。 - 選擇您想要接收通知的事件自動 Slack 通知。
- 按一下繼續。
建立 CI 工具鏈
- 在摘要頁面上,按一下建立工具鏈。
- 等待工具鏈創建。 這可能需要幾分鐘。
探索 CI 工具鏈
CI 工具鏈包含 ci-pr-pipeline (PR) 和 ci-pipeline (CI)。 當新的合併請求提交或合併到應用程式儲存庫中的 master 時,這些管道就會觸發。
請依照以下步驟存取您的工具鏈:
- 在IBM Cloud控制台中,點選選單圖示
>平台自動化>工具鏈。
- 在「工具鏈」頁面中,按一下建立工具鏈。
- 按一下您的工具鏈以查看輸出,如下列工件所示。
執行 ci-pr 管線
要開始 ci-pr pipeline,您需要在應用程式儲存庫中建立合併請求。
-
在 CI 工具鏈頁面中,按一下
ci-pr pipeline瓦。 預設情況下,它是使用名稱建立的compliance-app-<timestamp>。 -
從 master 分支建立一個分支。
-
更新應用程式中的程式碼或新增自述文件,然後儲存變更。
-
按一下提交合併請求。
-
在 CI 工具鏈頁面上,按一下 pr-pipeline 磚。 驗證
ci-pr pipeline由合併請求的建立觸發。 -
等待
ci-pr pipeline執行完成。 應用程式儲存庫中對應的合併請求位於Pending狀態直到 PR 管道的所有階段成功完成。 -
PR 管道運行成功後,點擊管道可瀏覽已完成的眾多步驟並查看頁面。
DevSecOps PR 管道成功 -
訪問合併請求合併請求,以便將變更複製到應用程式儲存庫的主分支。
執行 CI 管線
使用下列其中一種方式來啟動 CI 管線:
- 自動:PR 管道成功後,透過批准 PR 並將其合併到主分支。
- 手動:若要手動觸發 CI 管道,請選擇Delivery Pipeline卡,點擊運行管道,然後選擇手動觸發。
在本教程中,將程式碼變更合併到應用程式儲存庫的主分支後,會觸發 CI 管道。
-
在 CI 工具鏈 頁面上,按一下 ci-pipeline 磚。
-
點選跑步針對您的管道名稱。 觀察管道正在運作。 等待管道運行完成。
-
CI 管道運行成功後,請按一下管道以瀏覽已完成的步驟以查看螢幕截圖中所示的頁面。
DevSecOps CI 管道 -
點選 DevOps Insights 瓦審查收集到的證據品質儀表板頁面,如螢幕截圖所示。
DevSecOps CI 證據 若在設定過程中啟用了 IBM Cloud Object Storage 儲存桶,您亦可檢視相關證據。 若要評估您的管線執行中是否有任何失敗,您需要檢查管線的最終步驟,其具有管線評估器。
檢視執行中應用程式
在順利執行 CI 管線之後,範例應用程式會部署在 Kubernetes 叢集上。
應用程式 URL 可在 CI 管道執行的 deploy-dev 任務的 run stage 步驟的日誌末尾找到。 使用該 URL 來驗證應用程式是否正在執行。
管線自訂作業
參考持續整合和持續部署工具鏈中提供的各種管道基於Continuous Delivery支持 Tekton 管道。 有關管道定制的更多信息,請參閱 用戶如何自訂管道?
下一步
您成功創建了一個DevSecOpsCI 工具鏈,運行 ci-pr pipeline 和 ci-pipeline 建置、測試並將變更部署到開發環境。 現在您已準備好探索 設定 CD 工具鏈。