CI/CD Pipeline

閱讀時間約 3 分鐘
CI/CD Pipeline 是一連串自動化步驟,可以測試軟體,部屬應用程式。但實際上到底要做什麼事情呢?可以從 GitLab 的 Auto DevOps 了解。

Auto Dependency Scanning

掃描第三方函式庫的安全性漏洞。參考下圖:
如果是 .NET 6 可以用以下指令掃描:
dotnet list package --vulnerable
參考如下:
https://devblogs.microsoft.com/nuget/how-to-scan-nuget-packages-for-security-vulnerabilities/

測試功能性

執行 Unit Test、Integration Test,確保這次程式碼的調整,沒有改壞現有功能。

Auto Code Quality

Auto Code Quality 是靜態程式碼分析,也會將報告附在 Merge Request、Pipeline 上。GitLab 是使用 Code Climate 做程式碼分析,但已經包成 codequality 這個 Docker Image。
除了 Code Climate,還有 SonarQube 之類的軟體可以使用。

Auto Container Scanning

掃描 Docker Image 的漏洞,因為 Docker Image 上可能有安裝不少的軟體,這些軟體可能 6 個月後發現安全性上的問題。掃描出問題後,可以盡快的更新相關軟體,避免安全性上的問題。

Auto Review Apps

Review App 可以讓我們看 feature branch 的功能。當審核通過後,才合併到 Dev branch。

Auto Deploy

自動部屬到 Kubernetes 上,是採用 Push Model,也就是 CI/CD Pipeline 主動更新 Kubernetes。

Auto Static Application Security Testing (SAST)

靜態程式碼分析,專門掃描安全性的問題。

Auto Dynamic Application Security Testing (DAST)

對運行中的程式執行安全性測試。

Auto Secret Detection

gitleaks detect -v
掃描程式碼,看有沒有密碼、API token 等等的敏感資訊。
為什麼會看到廣告
    專注於 C#, DevOps 的工程師
    留言0
    查看全部
    發表第一個留言支持創作者!