第 3 部分:設定 CD 工具鏈

透過本教學,您可以使用工具鏈模板進行持續部署 (CD)。 此範本已預先配置了設定。 您可以驗證並提供您的配置來完成本教學。

開始之前

  1. 完全的 設定先決條件
  2. 完全的 設定 CI 工具鏈
  3. 觀看以下視訊:

  1. 請參閱,DevSecOps部署安全 CD 應用程式的實踐

啟動 CD 工具鏈設定

這Continuous Delivery本服務提供了引導您完成 CD 工具鏈設定的範本。 請依照下列步驟存取 CD 工具鏈的範本。

  1. IBM Cloud控制台 中,點選選單圖示選單圖示>平台自動化>工具鏈
  2. 在工具鏈頁面上,按一下建立工具鏈
  3. 點選 CD - 部署安全應用程式DevSecOps實踐平鋪以查看模板。

設定工具鏈設置

歡迎頁面總結了工具鏈的用途以及文件和相關材料的指針。

  1. 按一下啟動

  2. 輸入唯一的工具鏈名稱筆記工具鏈區域可以不同於叢集和Container Registry地區。

  3. 選擇地區選擇資源組被列為。 筆記您可以編輯區域。

  4. 您可以選擇選擇關聯的持續整合 (CI) 工具鏈從下拉式選單中。 這會複製一些 CI 配置以幫助設定 CD 工具鏈。 筆記這可能會覆蓋您已經輸入的一些值。

  5. 按一下繼續

    只有在現行步驟的配置完成且有效時,您才能進入下一步。 您可以隨時點擊後退查看引導安裝程式中的先前步驟。 工具鏈安裝程式會保留後續步驟中的所有配置設定。

    一些步驟包括切換到進階配置切換按鈕。 預設情況下,這些步驟為您提供最低配置。 但是,需要更細粒度控制的進階使用者可以點擊切換到進階配置切換以顯示底層整合的選項。

設定工具集成

如果您已在該步驟中連結至現有 CI 工具鏈,則會預先填入工具鏈名稱、區域、儲存庫和其他欄位。 檢閱儲存庫 URL,然後繼續進行後續步驟。

庫存

  1. 選擇 CI 工具鏈中設定的庫存庫 URL
  2. 按一下繼續

問題

  1. 選擇 Repository URL,在 CD 管道執行時記錄問題。 筆記您使用在 CI 工具鏈期間建立的現有問題儲存庫。
  2. 按一下繼續

管線配置

管道配置儲存庫包含部署、測試和其他自訂任務所需的 YAML 檔案和腳本。

  1. 接受預設設定來源提供者

    如果您沒有配置儲存庫,請啟用 進階配置 切換,然後選取 複製儲存庫 類型。 工具鏈會 將範例設定 複製到您位於 Git 的組織中。 有關 Git 儲存庫的更多資訊,請參閱《 設定您的 Git Repos and Issue Tracking 》。 有關可自訂腳本的更多信息,請參閱 自訂腳本

  2. 輸入唯一的新儲存庫名稱

  3. 按一下繼續

密碼

  1. 本教學使用 IBM Cloud® Secrets Manager 作為秘密的金庫。 這地區,資源組,和服務名稱欄位會根據可用選項自動填入。 按一下下拉指示器可查看其他選項。
  2. 輸入你的 Secrets Manager實例名稱
  3. 從下拉式清單中選擇授權類型
  4. 按一下繼續

證據存儲

  1. 選擇一個使用現有的證物櫃儲存庫
  2. 選擇您設定持續整合 (CI) 工具鏈時建立的儲存庫 URL。 有關證據存儲的更多信息,請參閱 證據
  3. 切換IBM Cloud Object Storage存儲桶滑塊將所有證據存儲在IBM Cloud Object Storage桶。
  4. 按一下繼續

雲端 Object Storage 儲存區

  1. 驗證並接受自動填充的 IBM Cloud Object Storage 細節。 有關配置可充當合規性證據儲物櫃的存儲桶的更多信息,請參閱 配置Object Storage用於儲存證據
  2. 提供您的寫入的服務 API 金鑰IBM Cloud Object Storage實例
  3. 按一下繼續

工件簽名

  1. 可選擇輸入代碼簽署證書驗證工件簽名的有效性。 例如,Docker在部署到生產環境之前由 CI 管道建置和簽署的工件。
  2. 按一下繼續

部署目標

  1. 接受單集群(基於推送的部署) 若要將應用程式部署至虛擬伺服器執行個體等目標或自訂部署流程,請使用風俗選項。
  2. 點選繼續查看集群頁面。
  3. 輸入IBM Cloud用於在多個任務中與 CLI 工具互動的 API 金鑰欄位。 筆記透過點擊密鑰圖標,可以從機密庫匯入現有密鑰。
  4. 驗證您的集群區域,資源組,叢集名稱,和叢集命名空間建立目標集群的欄位。
  5. 按一下繼續

變更要求管理

  1. 接受更改請求管理的填充值。 如需相關資訊,請參閱 自動化變更管理
  2. 輸入唯一的新儲存庫名稱
  3. 設定目標環境目的作為 Production
  4. 設定目標環境詳細信息
  5. 按一下繼續

DevOps Insights工具鏈

連結現有的DevOps Insights實例從另一個工具鏈到此管道,以便可以在同一位置收集來自 CI 和 CD 工具鏈管道的所有建置、部署和測試記錄。

CD工具鏈可以將部署記錄發佈到現有的DevOps Insights實例。 若要啟用此功能,請提供包含現有工具鏈的 ID DevOps Insights實例透過選擇DevOps Insights工具鏈 ID 清單。

IBM Cloud DevOps Insights 包含在工具鏈中。 查看每個部署和環境中每個建置的管道測試結果。

  1. 提供您的 DevOps Insights IBM Cloud API金鑰
  2. 接受預設配置。
  3. 按一下繼續

選用工具

Slack

配置 鬆弛 接收有關拉取請求或 CI 管道事件的通知。 您也可以在建立工具鏈後新增 Slack 工具。

  1. 輸入您的 Slack webhook。 有關更多信息,請參閱 Slack webhook
  2. 輸入您的鬆弛通道發布訊息。
  3. 輸入鬆弛團隊名稱。 例如,如果您的團隊 URL 是 https://team.slack.com,團隊名稱就是 team
  4. 選擇自動 Slack 通知對於您想要接收通知的事件。
  5. 按一下繼續

或者,您可以使用以下命令切換發送通知 slack-notifications CD 管道中的環境屬性,使用 0 = off, and 1 = on

建立 CD 工具鏈

可以在創建管道後配置各個工具鏈整合。

  1. 在摘要頁面上,按一下建立工具鏈,然後等待工具鏈建立。

DevSecOps CD 工具鏈創建了
DevSecOps CD 工具鏈創建了

探索 CD 工具鏈

  1. 現在已建立 CD 工具鏈,按一下 CD管道打開並運行促銷管道。

運行促銷管道

確保 CI 管道 在運行升級管道之前已成功運行。

  1. 點選 CD管道

  2. 點選跑步為了手動促銷觸發管道。

  3. 按一下執行以啟動管道。

  4. 點選手動促銷觸發>#1promotion-pipelinerun 管道。 等待升級管道運行完成並檢查執行日誌。

    升級管道使用庫存源環境上的庫存內容建立拉取請求,例如 master 針對庫存目標環境的分支,例如 staging 或者 production

  5. 推廣管道成功完成後,promote 任務日誌提供指向庫存儲存庫中拉取請求的連結。 拉取請求名稱的格式為 promote <inventory source environment> to <inventory target environment>,例如,promote master to prod

  6. 使用日誌中提供的鏈結,在瀏覽器中開啟取回要求。 完成下列區段中的詳細資料:

    • 優先事項:(強制)設定為 Critical,High,Moderate,Low,或者 Planning
    • 變更請求受讓人:(強制的)Email-ID 受讓人的。
    • 附加說明:有關應用程式更改的描述。
    • 目的/目標:對應用程式進行更改的目的。
    • 影響說明:更改對應用程式行為或環境的影響。
    • 撤銷計劃:部署失敗時退出的步驟。
  7. 完成 取回要求 中的欄位並 儲存

  8. 添加 EMERGENCY 如果 CI 中的任何合規性檢查失敗並且您想要,則為您的拉取請求添加標籤 繼續部署

  9. 合併來自 Git Repos and Issue Tracking的取回要求。

拉取請求的詳細資訊在運行 CD 管道以在更改請求存儲庫中建立和更新期間使用。

運行CD管道

您可以手動或自動方式觸發 CD 管道。 您可以隨時手動觸發 CD 管道,但如果自上次成功部署以來沒有發生任何更改,則 CD 管道會提前停止,因為沒有任何可部署的內容。 您可以新增並使用 force-redeploy 變數,在沒有程式碼變更的情況下重新執行 CD。 看成功的螢幕截圖DevSecOpsCD管道。

DevSecOps CD 管道成功
DevSecOps CD 管道成功

您可以找到在生產命名空間上執行的範例應用程式。 應用程式 URL 可在 run stage subep 的 prod deployment 步驟的 CD 管道執行記錄下找到。 使用該 URL 來驗證應用程式是否正在執行。

下一步

您成功創建了一個DevSecOpsCD 工具鏈,運行 cd-pipeline 在生產環境中手動觸發。

現在,繼續 設定 CC 工具鏈