本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在不支援 AWS 的 AWS 區域建立管道 CodePipeline
創建者阿南德·克里希納·瓦拉納西(AWS)
環境:PoC 或試點 | 技術:基礎設施; DevOps | |
AWS 服務:AWS CodeBuild;AWS CodeCommit;AWS CodeDeploy;AWS CodePipeline |
Summary
AWS CodePipeline 是持續交付 (CD) 協調服務,屬於來自 Amazon Web Services (AWS) 的一組 DevOps 工具。它整合了各種來源 (例如版本控制系統和儲存解決方案)、AWS 和 AWS 合作夥伴的持續整合 (CI) 產品和服務,以及開放原始碼產品,為快速的應用程式和基礎設施部署提供 end-to-end 工作流程服務。
CodePipeline 不過,並非所有 AWS 區域都支援,而且擁有連接 AWS CI/CD 服務的隱形協調器非常有用。此模式描述如何在尚 CodePipeline 未透過 AWS CodeCommit、AWS 和 AWS 等 AWS CI/CD 服務支援的 AWS 區域實 end-to-end 作工作流程管道。 CodeBuild CodeDeploy
先決條件和限制
前提
有效的 AWS 帳戶
AWS Cloud Development Kit (AWS CDK) CLI 2.28 版或更新版本
架構
目標技術堆疊
下圖顯示在不支援的區域中建立的管道 CodePipeline,例如非洲 (開普敦) 區域。開發人員將 CodeDeploy 配置文件(也稱為部署生命週期鉤子腳本)推送到託管的 Git 存儲庫。 CodeCommit(請參閱此模式提供的GitHub 存儲庫
CodeDeploy 組態檔案會從中擷取, CodeCommit 做為管線來源階段的一部分,然後傳輸到 CodeBuild。
在下一個階段, CodeBuild 執行下列工作:
下載應用程式原始程式碼 TAR 檔案。您可以使用 AWS Systems Manager 的功能參數存放區來設定此檔案的名稱。
下載組 CodeDeploy 態檔案。
建立應用程式原始程式碼和特定於應用程式類型的 CodeDeploy 組合歸檔。
使用合併的存檔,啟動 CodeDeploy 部署到 Amazon 彈性運算雲端 (Amazon EC2) 執行個體。
![在不支援的 AWS 區域中建立管道](images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)
工具
AWS 服務
AWS CodeBuild 是全受管的建置服務,可協助您編譯原始程式碼、執行單元測試,以及產生準備好部署的成品。
AWS CodeCommit 是一種版本控制服務,可協助您以私密方式存放和管理 Git 儲存庫,而無需管理自己的原始檔控制系統。
AWS 可 CodeDeploy自動部署到 Amazon EC2 或現場部署執行個體、AWS Lambda 函數或亞馬遜彈性容器服務 (Amazon ECS) 服務。
AWS 可 CodePipeline協助您快速建模和設定軟體發行的不同階段,並自動執行持續發行軟體變更所需的步驟。
AWS Cloud Development Kit (AWS CDK) 是一種軟體開發架構,可協助您在程式碼中定義和佈建 AWS 雲端基礎設施。
Code
此模式的程式碼可在「 GitHub CodePipeline 不支援的地區
史诗
任務 | 描述 | 所需技能 |
---|---|---|
安裝 AWS CDK CLI。 | 如需相關指示,請參閱 AWS CDK 文件。 | AWS DevOps |
安裝 Git 用戶端。 | 要創建提交,您可以使用安裝在本地計算機上的 Git 客戶端,然後將提交推送到 CodeCommit 存儲庫。若要 CodeCommit 使用 Git 用戶端進行設定,請參閱CodeCommit 文件。 | AWS DevOps |
安裝 npm。 | 安裝 npm 軟件包管理器。如需詳細資訊,請參閱 npm 文件 | AWS DevOps |
任務 | 描述 | 所需技能 |
---|---|---|
克隆代碼存儲庫。 | 執行下列命令,將「 GitHub CodePipeline 不支援的區域
| DevOps 工程師 |
在中設定參數。 | 開啟
其中:
| AWS DevOps |
設定 AWS CDK 建構程式庫。 | 在複製的 GitHub 存放庫中,使用下列命令安裝 AWS CDK 建構程式庫、建立應用程式,以及進行合成以產生應用程式的 AWS CloudFormation 範本。
| AWS DevOps |
部署範例 AWS CDK 應用程式。 | 在不支援的區域 (例如
| AWS DevOps |
任務 | 描述 | 所需技能 |
---|---|---|
設定應用程式的 CI/CD。 | 複製您在
其中存放庫名稱和區域取決於您在 | AWS DevOps |
任務 | 描述 | 所需技能 |
---|---|---|
使用部署指示測試管線。 | 「 GitHub CodePipeline 不支援的區域 | AWS DevOps |
相關資源
開始使用 (AWS CDK 文件)
Cloud Development Kit (CDK) 簡介 (
AWS 工作坊工作室)