本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
上的 CI/CD AWS
CI/CD 可以製作成一個管道,其中新程式碼在一端提交,經過一系列階段 (來源、建置、測試、預備和生產) 測試,然後發佈為生產就緒程式碼。

CICD 管道概觀
CI/CD 管道的每個階段在交付過程中都以邏輯單位的形式建構。每個階段都做為門,可對程式碼的特定層面進行審核。隨著程式碼經過管道,假設程式碼的品質在後期會更高,因為更多層面會繼續驗證。早期發現的問題會阻止程式碼透過管道進行。測試的結果會立即傳送給團隊,而且如果軟體未通過階段,所有進一步的建置和版本都會停止。
AWS 引進一組完整的 CI/CD 開發人員工具,以加速軟體開發和發行週期。 會在每次發生程式碼變更時,根據定義的發行模型,AWS CodePipeline
程式碼管道可以與其他 服務整合。這些可以是 AWS Services,例如 Amazon Simple Storage Service
-
使用 編譯、建置和測試程式碼 AWS CodeBuild
-
持續將容器型應用程式交付至雲端
-
網路服務或特定雲端原生網路函數所需的成品 (例如描述項和容器映像) 部署前驗證
-
容器化網路函數/虛擬網路函數 (CNF/VNF) 的功能、整合和效能測試,包括基準和迴歸測試
-
可靠性和災難復原 (DR) 測試。

AWS CICD 管道元件
AWS 可以使用下列 AWS 開發人員工具設定 CI/CD 管道:
CI/CD 管道建立可以使用 AWS CDK
CI/CD 程序包含下列步驟:
-
網路設定 – AWS CDK 並 AWS CloudFormation 啟動建立網路先決條件:
-
基礎設施部署 – AWS CDK 並 AWS CloudFormation 啟動建立下列資源堆疊:
-
雲端網路函數 (CNF) 部署 – 在此階段,CNF 會使用 Kubectl
和 Helm Charts 工具部署至 EKS 叢集。此階段也會部署 CNFs 所需的任何特定應用程式或工具,以有效率地運作 (例如 Prometheus 或 Fluentd) 。CNFs可以透過 Lambda 函數或使用 進行部署 AWS CodeBuild。 -
持續更新和部署 – 這些是反覆執行的一系列步驟,以部署容器/組態變更的一部分,進而導致升級。與 CNF 部署案例類似,連續更新和部署可以使用 AWS 服務自動化,其觸發條件來自 AWS CodeCommit
、Amazon Elastic Container Registry (Amazon ECR) 或第三方來源系統,例如 GitLab Webhooks。

AWS CICD 管道流程圖
CI/CD 管道是使用 建置的AWS CodePipeline