2022-07-26|閱讀時間 ‧ 約 4 分鐘

CI/CD Pipeline

    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 等等的敏感資訊。

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.