在開發模式中執行管線

CI 與 CD 管道的開發模式會測試您的 DevSecOps 配置(yaml)檔案的實作,但不會執行任何與安全性或合規性相關的任務。 開發模式也會減少管線執行時間。

開發模式僅用於開發目的。 開發模式並不能取代官方的 DevSecOps 持續整合(CI)與持續交付(CD)管道,後者仍是參考實作。

使用簡化的管線來開發、實作及測試對 .pipeline-config.yaml 檔案所做的變更。 此管線具有下列性質:

  • 僅執行 .pipeline-config.yaml 檔案的各種階段。
  • 跳過相符性及安全相關作業,以最佳化執行程式碼的時間。
  • 不會蒐集任何證據。 尚未有證據上傳至 COS 證據儲存庫。

必要條件

  • 現有的DevSecOps CI 或 CD 工具鏈。
  • .pipeline-config.yaml 及對應的建置、測試和部署 Script。

設定開發模式

請完成下列步驟,以設定管線的開發模式:

  1. 移至 CI 或 CD 管線的 觸發程式 頁面。

  2. 找出「手動觸發程式」,按一下 動作 圖示 「動作」圖示,然後按一下 複製

    重複手動觸發
    重複手動觸發

  3. 命名觸發程式。 例如,Manual-Dev-Mode

  4. EventListener 變更為 dev-mode-listener (適用於 CI) 或 dev-mode-cd-listener (適用於 CD)。

    開發模式觸發器
    更改事件偵聽器

  5. 儲存變更。

在 IaC 管線中設定開發模式

請完成下列步驟,以在「基礎架構即程式碼 (IaC)」管線中設定開發模式:

  1. 移至 CI 管線的 觸發程式 頁面。

  2. 找出「手動觸發程式」,按一下 動作 圖示 「動作」圖示,然後按一下 複製

    重複手動觸發
    重複手動觸發

  3. 命名觸發程式。 例如,Manual-IaC-Dev-Mode

  4. EventListener 變更為 iac-dev-mode-listener

    開發模式觸發
    更改 iac 事件偵聽器

  5. 儲存變更。

執行開發模式管線

請完成下列步驟來執行開發模式管線:

  1. 前往 PipelineRuns 頁面。
  2. 按一下 執行管線,然後選取您所建立的 Manual-Dev-Mode 觸發程式。
  3. 按一下執行

開發模式管線只會執行 .pipeline-config.yaml 檔中的程式碼。

所有其他安全及相符性作業都不會執行,從而減少管線執行時間。

標準和開發模式比較
標準和開發模式比較

CI 管線的開發模式

CI 管線會從應用程式儲存庫建置可部署的構件。

下表列出 CI 管線開發模式中的階段。

CI 管道的發展階段
Dev-mod-ci 管線階段 暫置說明
code-ci-start 設定管線環境。 此處理程序包括將配置和應用程式儲存庫複製到管線本端檔案系統。
code-setup 設定建置和測試環境,以便為下列管線階段做好準備。
code-unit-tests 在應用程式碼上執行單元測試和應用程式測試。
build-artifact 建置構件和映像檔。
deploy-dev 將建置構件部署至開發環境。
deploy-acceptance-tests 在開發環境上已部署的建置構件上執行接受及整合測試
deploy-release 將建置構件新增至庫存。 Continuous Delivery 管線會使用此庫存。
code-ci-finish 收集、建立並將日誌檔、構件及證明上傳至證明櫃。 如果先前在管線中執行的任何相符性檢查失敗,則此階段也會失敗。 此階段代表「失敗安全」行為,以確保在可以合併採購申請或部署建置之前已補救相符性問題。

CD 管線的開發模式

CD 管線會將建置部署至環境,例如暫置或正式作業。

下表列出 CD 管線開發模式中的階段。

CD 管道的開發階段
CD Pipeline 暫置 暫置說明
prod-start 計算部署差異。
prod-setup 設定建置和測試環境。
prod-verify-artifact 在 CI 管線中建置之映像檔的驗證簽章。
prod-deployment 將建置部署至環境。
prod-acceptance-tests 執行驗收測試。
prod-finish 發佈接受測試、部署記錄、收集 CycloneDX BOM,以及關閉變更要求。

回到標準模式

當您滿意 .pipeline-config.yaml 檔案及其相關聯 Script 的實作時,請停用或刪除 Manual-Dev-Mode 觸發程式,並改用您用來執行安全及相符性檢查的 standard 觸發程式。