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
評論