在開發模式中執行管線
CI 與 CD 管道的開發模式會測試您的 DevSecOps 配置(yaml)檔案的實作,但不會執行任何與安全性或合規性相關的任務。 開發模式也會減少管線執行時間。
開發模式僅用於開發目的。 開發模式並不能取代官方的 DevSecOps 持續整合(CI)與持續交付(CD)管道,後者仍是參考實作。
使用簡化的管線來開發、實作及測試對 .pipeline-config.yaml 檔案所做的變更。 此管線具有下列性質:
- 僅執行
.pipeline-config.yaml檔案的各種階段。 - 跳過相符性及安全相關作業,以最佳化執行程式碼的時間。
- 不會蒐集任何證據。 尚未有證據上傳至 COS 證據儲存庫。
必要條件
- 現有的DevSecOps CI 或 CD 工具鏈。
.pipeline-config.yaml及對應的建置、測試和部署 Script。
設定開發模式
請完成下列步驟,以設定管線的開發模式:
-
移至 CI 或 CD 管線的 觸發程式 頁面。
-
找出「手動觸發程式」,按一下 動作 圖示
,然後按一下 複製。
重複手動觸發 -
命名觸發程式。 例如,
Manual-Dev-Mode。 -
將
EventListener變更為dev-mode-listener(適用於 CI) 或dev-mode-cd-listener(適用於 CD)。
更改事件偵聽器 -
儲存變更。
在 IaC 管線中設定開發模式
請完成下列步驟,以在「基礎架構即程式碼 (IaC)」管線中設定開發模式:
-
移至 CI 管線的 觸發程式 頁面。
-
找出「手動觸發程式」,按一下 動作 圖示
,然後按一下 複製。
重複手動觸發 -
命名觸發程式。 例如,
Manual-IaC-Dev-Mode。 -
將
EventListener變更為iac-dev-mode-listener。
更改 iac 事件偵聽器 -
儲存變更。
執行開發模式管線
請完成下列步驟來執行開發模式管線:
- 前往 PipelineRuns 頁面。
- 按一下 執行管線,然後選取您所建立的
Manual-Dev-Mode觸發程式。 - 按一下執行。
開發模式管線只會執行 .pipeline-config.yaml 檔中的程式碼。
所有其他安全及相符性作業都不會執行,從而減少管線執行時間。
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 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 觸發程式。