如何跳过代码流水线阶段?
How can I skip a codepipeline stage?
我正在使用 AWS codepipeline 作为 CI/CD 管道工具。我的 yml 文件中有很多阶段。 codepipeline 的 cloudformation 参考是:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html
...
Stages:
- Name: ...
Actions: ...
...
管道中有一个阶段列表,但并非每个分支都需要 运行 所有阶段。如何根据分支名称跳过其中一些?
我尝试了以下通过 aws cloudformation deploy --parameter-overrides ...
命令通过参数传递的配置。它可以工作,但如果我更改部署命令中的参数,它会显示 No changes to deploy.
。好像模板没有更新参数变化
Parameters:
ShouldRunTest:
Type: String
Default: false
Conditions:
ShouldRunTest: !Equals [!Ref ShouldRunTest, "true"]
...
- !If
- ShouldRunTest
- Name: test
Actions:
- Name: Deploy
ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormation
Version: 1
InputArtifacts:
- Name: SourceOutput
Configuration:
Capabilities: CAPABILITY_NAMED_IAM
ActionMode: REPLACE_ON_FAILURE
RoleArn: !GetAtt CodePipelineServiceRole.Arn
StackName: codeBuild
RunOrder: 1
- !Ref "AWS::NoValue"
您可以使用 AWS CloudFormation 模板中的条件跳过整个 AWS CodePipeline 操作或阶段。
例如:
Conditions:
HaveCodeDeployStage:
!Not [ !Equals [!Ref CodeDeployAppName, ''] ]
Resources:
MyCodePipepline:
Type: AWS::CodePipeline::Pipeline
Properties:
#...
Stages:
- !If
- HaveCodeDeployStage
- Name: DeployStage
Actions:
- ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CodeDeployToECS
Version: 1
#....
- !Ref "AWS::NoValue"
# ...
我正在使用 AWS codepipeline 作为 CI/CD 管道工具。我的 yml 文件中有很多阶段。 codepipeline 的 cloudformation 参考是:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html
...
Stages:
- Name: ...
Actions: ...
...
管道中有一个阶段列表,但并非每个分支都需要 运行 所有阶段。如何根据分支名称跳过其中一些?
我尝试了以下通过 aws cloudformation deploy --parameter-overrides ...
命令通过参数传递的配置。它可以工作,但如果我更改部署命令中的参数,它会显示 No changes to deploy.
。好像模板没有更新参数变化
Parameters:
ShouldRunTest:
Type: String
Default: false
Conditions:
ShouldRunTest: !Equals [!Ref ShouldRunTest, "true"]
...
- !If
- ShouldRunTest
- Name: test
Actions:
- Name: Deploy
ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CloudFormation
Version: 1
InputArtifacts:
- Name: SourceOutput
Configuration:
Capabilities: CAPABILITY_NAMED_IAM
ActionMode: REPLACE_ON_FAILURE
RoleArn: !GetAtt CodePipelineServiceRole.Arn
StackName: codeBuild
RunOrder: 1
- !Ref "AWS::NoValue"
您可以使用 AWS CloudFormation 模板中的条件跳过整个 AWS CodePipeline 操作或阶段。
例如:
Conditions:
HaveCodeDeployStage:
!Not [ !Equals [!Ref CodeDeployAppName, ''] ]
Resources:
MyCodePipepline:
Type: AWS::CodePipeline::Pipeline
Properties:
#...
Stages:
- !If
- HaveCodeDeployStage
- Name: DeployStage
Actions:
- ActionTypeId:
Category: Deploy
Owner: AWS
Provider: CodeDeployToECS
Version: 1
#....
- !Ref "AWS::NoValue"
# ...