AWS CodePipeline 不遵守 CodeBuild 设置
AWS CodePipeline Not Respecting CodeBuild Settings
我目前正在使用 codepipeline、codebuild、codedeploy 和 codecommit 创建管道。我在将 codebuild 构建工件上传到 s3 时遇到问题,因为它不遵循我在 buildspec.yml:
中设置的工件名称
artifacts:
files:
- '**/build/*'
name: build-$(date +%Y-%m-%d)
相反,它会随机创建一个构建名称。在我的代码构建设置中,我已经启用了语义版本控制,但它似乎被代码管道忽略了,因为我可以在日志中看到,如果我 运行 代码管道或我 运行 生成构建工件时存在差异仅限代码构建。
这是仅在代码构建的日志中显示的内容:
[Container] 2019/08/08 09:28:07 Assembling file list
[Container] 2019/08/08 09:28:07 Expanding **/build/*
[Container] 2019/08/08 09:28:08 Found 144 file(s)
[Container] 2019/08/08 09:28:08 Updating artifact name as build-2019-08-08
这是代码管道日志中显示的内容:
[Container] 2019/08/08 09:19:50 Assembling file list
[Container] 2019/08/08 09:19:50 Expanding **/build/*
[Container] 2019/08/08 09:19:50 Found 144 file(s)
[Container] 2019/08/08 09:19:50 Phase complete: UPLOAD_ARTIFACTS State: SUCCEEDED
您可以看到 Updating artifact name as build-2019-08-08 当我 运行 codepipeline 时,日志中不存在行。
有人可以帮我解决这个问题吗?
当您将 CodeBuild 用作 CodePipeline 中的构建或测试步骤时,您的管道控制工件命名。意思是,工件命名由 CodePipeline 管理,不能被覆盖。
您有一个 3 阶段管道,CodeCommit -> CodeBuild -> CodeDeploy。配置管道时,您可以配置作为下一阶段输入的输出工件名称。将这些工件名称定义为流水线可以使更改以版本控制的方式流过。
我目前正在使用 codepipeline、codebuild、codedeploy 和 codecommit 创建管道。我在将 codebuild 构建工件上传到 s3 时遇到问题,因为它不遵循我在 buildspec.yml:
中设置的工件名称artifacts:
files:
- '**/build/*'
name: build-$(date +%Y-%m-%d)
相反,它会随机创建一个构建名称。在我的代码构建设置中,我已经启用了语义版本控制,但它似乎被代码管道忽略了,因为我可以在日志中看到,如果我 运行 代码管道或我 运行 生成构建工件时存在差异仅限代码构建。
这是仅在代码构建的日志中显示的内容:
[Container] 2019/08/08 09:28:07 Assembling file list
[Container] 2019/08/08 09:28:07 Expanding **/build/*
[Container] 2019/08/08 09:28:08 Found 144 file(s)
[Container] 2019/08/08 09:28:08 Updating artifact name as build-2019-08-08
这是代码管道日志中显示的内容:
[Container] 2019/08/08 09:19:50 Assembling file list
[Container] 2019/08/08 09:19:50 Expanding **/build/*
[Container] 2019/08/08 09:19:50 Found 144 file(s)
[Container] 2019/08/08 09:19:50 Phase complete: UPLOAD_ARTIFACTS State: SUCCEEDED
您可以看到 Updating artifact name as build-2019-08-08 当我 运行 codepipeline 时,日志中不存在行。
有人可以帮我解决这个问题吗?
当您将 CodeBuild 用作 CodePipeline 中的构建或测试步骤时,您的管道控制工件命名。意思是,工件命名由 CodePipeline 管理,不能被覆盖。
您有一个 3 阶段管道,CodeCommit -> CodeBuild -> CodeDeploy。配置管道时,您可以配置作为下一阶段输入的输出工件名称。将这些工件名称定义为流水线可以使更改以版本控制的方式流过。