标签: aws-codebuild

当并发构建为 1 时,CodeBuild 项目不会排队

我们使用 AWS CodeBuild 和 GitHub Webhook 来触发构建过程。当为以 Jira 票证前缀(即 )开头的分支创建 PR 时oscs-278,我们使用 Terraform 构建一个新环境。当我们提交 PR 时,它会触发构建过程来更新该环境。

这一流程对我们来说效果很好,特别是自 2021 年 2 月起,AWS CodeBuild 允许您将并发构建设置为 1。这对我们来说很重要,因为我们一次应该只进行一个部署,其余的应该排队。

但是,我们当前的构建过程最多需要 15 分钟,如果我们在此时间范围内提交到分支,则如果另一个构建正在进行中,则该项目不会排队。

这可能是 GitHub Webhooks 的问题,还是与 AWS CodeBuild 有关的问题。

来自AWS文档:

队列中的最大构建数是并发构建限制的五倍。

所以理论上,队列中应该有 5 个(最多)

aws-codebuild github-webhook

5
推荐指数
1
解决办法
3045
查看次数

将 AWS CodeStar 连接信息与 CodeBuild 结合使用

我正在使用 CodePipeline 进行 CI/CD 流程。目前,我正在从 CodeCommit 迁移到私有 GitHub 存储库,我希望继续自动化我的标签和发布流程。问题是我需要一个个人令牌才能这样做。然而,话虽这么说,我们确实对同一个存储库使用 CodeStar 连接。现在我的问题是,是否可以提取 CodeBuild 连接中提供的令牌?

TIA

amazon-web-services aws-codepipeline aws-codebuild aws-codestar

5
推荐指数
0
解决办法
1684
查看次数

AWS Codebuild 节点版本更新不起作用

我在部署网站时遇到错误

Minimum Node version not met :(

You are using Node v12.22.2. We require Node >=14 or up!
Run Code Online (Sandbox Code Playgroud)

尝试buildspec.yaml使用节点更新命令更新文件npm install -g node构建规范.yaml

version amazon-web-services node.js aws-codebuild

5
推荐指数
1
解决办法
5816
查看次数

为什么多行 shell 代码不会在 codebuild 项目中的 bulid 失败?

我正在使用codebuildCI 并在构建规范文件中实现一些脚本。一段代码是多行if命令,例如:

 - |
        if [ [ -v $DB_TABLE_NAME  ] && [ $IS_PRIMARY_REGION != 'true' ] ]; then
          yarn test 
        elif [ [ $IS_PRIMARY_REGION == 'false' ] ]; then
          yarn test $PRIMARY_REGION
        fi
Run Code Online (Sandbox Code Playgroud)

问题是如果yarn test内部if失败,codebuild 项目不会失败。结果就成功了。如何使多行语句构建失败?

amazon-web-services aws-codebuild

5
推荐指数
1
解决办法
222
查看次数

AWS Step Functions 等待 CodeBuild 完成

如何等待 CodeBuild 在 Step Functions 状态机内完成?

我现在能想到的唯一等待是使用循环和计时器,就像下面的流程一样,但这是唯一的方法吗?没有“WaitForBuild”操作或类似的操作吗?

在此输入图像描述

拼写错误:BatchGetBuildBatches 应该是 BatchGetBuilds。

amazon-web-services aws-codebuild aws-step-functions

5
推荐指数
1
解决办法
1230
查看次数

docker build 命令的 --target 选项在 aws codeBuild 中不起作用

我为我的 aws codeBuild 使用多阶段 docker 构建来构建我的应用程序。我的 docker 文件的形状是:

FROM strapi/base:14-alpine AS dependencies
...

FROM strapi/base:14-alpine As liveProduction
ENV NODE_ENV="production"
COPY --from=dependencies /toto /toto
....

FROM strapi/base:14-alpine As liveDevelopment
ENV NODE_ENV="development"
COPY --from=dependencies /toto /toto
...
Run Code Online (Sandbox Code Playgroud)

为了构建我的生产应用程序,我使用 aws buildspect.yml ,在此文件中我有以下命令:

FROM strapi/base:14-alpine AS dependencies
...

FROM strapi/base:14-alpine As liveProduction
ENV NODE_ENV="production"
COPY --from=dependencies /toto /toto
....

FROM strapi/base:14-alpine As liveDevelopment
ENV NODE_ENV="development"
COPY --from=dependencies /toto /toto
...
Run Code Online (Sandbox Code Playgroud)

该命令效果不太好,因为所有阶段都按以下顺序执行:依赖项、liveProduction、liveDevelopment。在这种情况下,我只想执行依赖项和 liveDevelopment。

我想知道是什么问题?为什么 docker build 的 --target 选项在 codeBuild 中不起作用?

谢谢。

amazon-web-services docker dockerfile aws-codebuild

5
推荐指数
1
解决办法
579
查看次数

AWS CodeBuild GetAuthorizationToken失败

我正在尝试构建我的测试项目,但是每次它在pre_build中失败。我检查了错误日志,上面写着:

[容器] 2017/03/26 19:28:21调用GetAuthorizationToken操作时发生错误(AccessDeniedException):用户:arn:aws:sts :: 074181202020:assumed-role / codebuild-Testing-project-service-role / AWSCodeBuild未经授权执行:资源上的ecr:GetAuthorizationToken:*

我尝试附加以下政策:

  • IAMSelfManageServiceSpecificCredentials
  • IAMF完全访问
  • AmazonS3ReadOnlyAccess
  • CodeBuildPolicy-Testing-project-1490555003058
  • IAMReadOnlyAccess
  • AWSCodeBuildAdminAccess
  • IAMUserSSHKeys
  • AWSCodeCommitFullAccess
  • IAMF完全访问
  • AmazonS3FullAccess
  • 管理员访问
  • AWSElasticBeanstalkFullAccess
  • AWSCodePipelineFullAccess
  • WSCodeBuildAdminAccess

但这仍然给我同样的错误

任何帮助,将不胜感激!谢谢!

amazon-ec2 amazon-web-services aws-codepipeline aws-codebuild

4
推荐指数
3
解决办法
2689
查看次数

从Codepipeline启动时,AWS Codebuild无法下载源

我有一个AWS Codebuild作业,当我以root用户身份手动初始化时,它可以正常工作。

我有一条代码流水线,应在代码提交合并到主代码时启动构建作业。它会触发作业并开始构建,但是在尝试下载源时失败。

我已经将完整的S3 / codebuild / codecommit策略附加到了管道中,但是仍然会拒绝访问。

我缺少哪些权限?

amazon-web-services aws-codepipeline aws-codebuild

4
推荐指数
1
解决办法
3052
查看次数

如何在AWS CodeBuild工件上禁用加密?

我正在使用AWS CodeBuild构建应用程序,它被配置为将构建工件推送到AWS S3存储桶.在检查S3存储桶中的artifcats /对象时,我意识到对象已被加密.

是否可以禁用artifcats /对象加密?

encryption artifacts amazon-s3 amazon-web-services aws-codebuild

4
推荐指数
2
解决办法
534
查看次数

CodeStar / CodeBuild Role X信任过多的服务,仅预期1

我正在使用默认的NodeJS和无服务器模板测试CodeStar。由于某种原因,此模板对于运行时环境默认为nodejs 8.11,对于构建环境默认为6.10。

为了同步它们,我尝试覆盖构建映像以使其匹配。不幸的是,我遇到了一个错误:

在此处输入图片说明

奇怪的是,我没有这个名字的任何角色。与AWS没有太多关系,所以很可能我在这里忽略了明显的事情?

node.js aws-codebuild aws-codestar

4
推荐指数
1
解决办法
1060
查看次数