Basic
- Stage 裡面可以有許多 Action, Stage 跟 Stage 之間是可以關聯的
- runOrder 可以用來決定順序性, 預設是1 ,同樣的 runOrder 代表同時跑
- Artifacts: S3
- 預設使用 AWS/S3 key 加密,但可以選擇使用 KMS
- 也可以建立一個 S3 的 Action , Copy artifacts 到其他 S3 Bucket
- CodePipeline 可以透過 ColudFormation 建立
Action
Approval Action: 可以設定需要 Manual Approval 才可以進去執行
Source Action : GitHub, CodeCommit, S3, ECR
- CodePipeline 監測改變選擇
- 根據 CloudWatch Events
- CodePipeline 週期性去檢查
- CodePipeline 監測改變選擇
Build Action : CodeBuild, and Jenkins
Deploy Action: AWS CodeDeploy, Beanstalk, CloudFormation, ECS
- 可以建立不同 Region 的同時部署
- CloudFormation
- 可以執行
- Create or update a stack
- Delete a stack
- Replace a failed stack
- Create or replace a change set
- execute a change set
- 特定指定 S# template
- 可以執行
- CloudFormation
- 可以建立不同 Region 的同時部署
Invoke Action : 觸發 Lambda Function
Test Action: CodeBuild, Jenkins and or open source
- 可以設定 Input artifacts and output artifacts
Custom Action: 需要建立一個 Job Worker 去執行程式
Example
sequenceDiagram
CodePipeline->>+CodeCommit: Trigger
loop
CodeCommit->> CodeCommit: package source code
end
CodeCommit->>+S3 : push to artifacts
CodeCommit->>+CodePipeline:Success
CodePipeline->>+CodeBuild: Trigger
CodeBuild->>+S3: pull artifacts
loop
CodeBuild->> CodeBuild: build
end
CodeBuild->>+S3: push to artifacts
CodeBuild->>+CodePipeline:Success
CodePipeline->>+CodeDeploy: Trigger
CodeDeploy->>+Instance: Deploy

評論