本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 和 AMI CodePipeline HashiCorp Packer 建立管道
由 Akash Kumar 建立 (AWS)
Summary
注意: AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解
此模式提供程式碼範例,以及使用 HashiCorp Packer 在 Amazon Web Services (AWS) Cloud AWS CodePipeline 和 Amazon Machine Image (AMI) 中建立管道的步驟。模式是以持續整合實務為基礎,該實務會使用 Git 型版本控制系統自動化程式碼的建置和測試。在此模式中,您可以使用 建立和複製程式碼儲存庫AWS CodeCommit。然後,使用 建立專案並設定您的原始程式碼AWS CodeBuild。最後,建立可遞交至儲存庫AMI的 。
先決條件和限制
先決條件
作用中AWS帳戶
AMI 用於啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的 Amazon Linux
HashiCorp Packer
0.12.3 或更新版本 Amazon CloudWatch 事件 (選用)
Amazon CloudWatch Logs (選用)
架構
下圖顯示應用程式程式碼的範例,該程式碼AMI會使用此模式的架構自動建立 。

該圖顯示以下工作流程:
開發人員會將程式碼變更遞交至私有 CodeCommit Git 儲存庫。然後, CodePipeline 使用 CodeBuild 啟動建置,並將準備好部署的新成品新增至 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
CodeBuild 使用 Packer AMI 根據JSON範本綁定和封裝 。如果啟用, CloudWatch Events 可以在原始程式碼發生變更時自動啟動管道。
技術堆疊
CodeBuild
CodeCommit
CodePipeline
CloudWatch 事件 (選用)
工具
AWS CodeBuild– AWS CodeBuild 是 雲端中全受管的建置服務。 會 CodeBuild 編譯您的原始程式碼、執行單元測試,並產生準備好部署的成品。
AWS CodeCommit – AWS CodeCommit 是一種版本控制服務,可讓您在 AWS Cloud 中私下存放和管理 Git 儲存庫。讓您 CodeCommit 無需管理自己的來源控制系統,也無需擔心擴展其基礎設施。
AWS CodePipeline – AWS CodePipeline 是一種持續交付服務,可用來建立模型、視覺化和自動化發行軟體所需的步驟。
HashiCorp Packer
– HashiCorp Packer 是一種開放原始碼工具,用於從單一來源組態自動建立相同的機器映像。Packer 輕量,在每個主要作業系統上執行,並平行為多個平台建立機器映像。
Code
此模式包含下列附件:
buildspec.yml
– 此檔案使用 CodeBuild 來建置和建立用於部署的成品。amazon-linux_packer-template.json
– 此檔案使用 Packer 來建立 Amazon Linux AMI。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
建立儲存庫。 | AWS 系統管理員 | |
複製儲存庫。 | 應用程式開發人員 | |
將原始碼推送至遠端儲存庫。 | 應用程式開發人員 |
任務 | 描述 | 所需的技能 |
---|---|---|
建立建置專案。 |
| 應用程式開發人員、AWS系統管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
管道名稱 |
| 應用程式開發人員、AWS系統管理員 |
相關資源
附件
若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip