问题标签 [aws-codebuild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13004 浏览

git - 在 AWS CodeBuild 上选择其他分支而不是 master 作为源存储库

用作源提供者master时,如何在 AWS 代码部署上指定不同的分支而不是分支?Github我看到控制台中没有选择选项来选择分支(可能是我错过了)。

当我们处于阶段时,我尝试签出到不同的分支pre_build,但在下载源阶段本身失败,因为master分支没有 YAML 文件。

0 投票
2 回答
1091 浏览

amazon-web-services - AWS CodeBuild 目录问题?

使用股票 CodeBuild Ubuntu14.04 基础映像。

还有其他人在目录中遇到奇怪的行为吗?像“pushd”这样的命令不存在。你从这个奇怪的“/tmp/src200838814/src”目录开始。cd 命令似乎也很不稳定。

当您尝试运行 cmake 时真的很难。

0 投票
3 回答
1639 浏览

amazon-web-services - AWS CodePipeline 成功,但未正确部署到 Elastic Beanstalk

当我调用应用程序 URL 时,将我的 WAR 文件(成功)部署到 Elastic Beanstalk 给我一个 404 Not Found。我可以在 /var/lib/tomcat8/webapps/ROOT/ 中看到一个 application.war 文件,而不是 META-INF 和 WEB-INF,当我手动部署时,它就在那里。

当我从 S3 中提取 WAR 文件并将其手动部署到 Elastic Beanstalk 时,它就像一个魅力。注意:这与 CodeBuild 在我的管道中生成的 WAR 文件相同。更好的是,如果我将文件安全地复制 (scp) 到本地计算机并将其上传到 Elastic Beanstalk,它也可以正常工作。

似乎在部署之前一切正常,甚至将工作 WAR 文件部署到 Elastic Beanstalk。

通过eb-activity.log我可以看到它识别出 WAR 文件并将其从临时目录部署到/var/lib/tomcat8/webapps/ROOT,但它没有解包并且容器/网络服务器没有重新启动。

如何使用 CodePipeline 正确部署 WAR 文件?

0 投票
1 回答
5775 浏览

amazon-web-services - 在 AWS CodeBuild 工作线程上使用 IAM 角色

有没有办法授予构建过程使用的 IAM 实例角色?

在我的特殊情况下,我需要在构建期间执行一些 s3 操作(与归档工件无关)。

到目前为止,我发现的唯一替代方法是在 aws codebuild 配置页面上的环境变量中添加 aws 密钥和密码。

将 IAM 角色附加到执行构建的 ec2 实例或容器会更安全。目前(2016-12)可能吗?

0 投票
1 回答
18755 浏览

amazon-web-services - 运行时找不到 Codebuild aws 命令?

我正在尝试使用 AWS codebuild构建一个简单的 docker 应用程序,但我遇到了一个错误,即找不到aws命令:

我有一个超级简单的 docker 文件,它构建了一个简单的 express 应用程序:

我有一个超级简单的buildspec.yml假设构建 docker 容器并将其推送到aws注册表:

但是一旦运行,它就会抛出上面发布的错误^^我不确定为什么找不到aws cli utils?本指南在这里:

http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html

建议我不需要做任何事情来在任何地方设置aws cli 实用程序?

我还注意到另一件事,我从 buildspec 文件中删除了 $(aws ecr get-login --region us-west-2)步骤,再次构建它,然后它说找不到 docker 命令?!我是否在某个地方错过了一步(我想我没有)。

0 投票
3 回答
6064 浏览

amazon-web-services - 部署 ElasticBeanstalk 时 AWS 代码管道出错

我创建了一个管道,它执行以下操作:

  1. Git 更改触发下一个操作(代码构建)
  2. Codebuild 从 git 源启动并构建一个 docker 镜像
  3. 在 Elasticbeanstalk 上设置最新的 docker 容器

前两个步骤工作正常,git 更改启动代码构建,代码构建构建一个 docker 映像,然后尝试在 Elasticbeanstalk 上设置它(失败)。抛出以下错误:

操作配置无效 操作失败,因为找不到工件或 Amazon S3 存储桶。工件存储桶的名称:MY_BUCKET_NAME。验证此存储桶是否存在。如果存在,请检查生命周期策略,然后尝试发布更改。

在我的代码构建项目中,我将工件位置设置为 MY_BUCKET_NAME 并将其命名为 aws-test-artifact。这就是我所要做的吗?

我试过环顾四周,在这个问题上找不到任何东西。

0 投票
1 回答
1310 浏览

amazon-web-services - 即使在允许之后,AWS codebuild 也无法访问 repos

所以我正在尝试让 codebuild 访问我的 GitHub 存储库,一旦登录并单击authorise,codebuild 仍然不会显示来自我的帐户和组织的存储库?

我进入了我的 GitHub设置/oauth_application_policy,我注意到没有AWS codebuild批准的应用程序?!即使在授权之后,也不会显示任何内容。

我之所以需要codebuild通过实际codebuild页面创建项目,是因为通过codepipeline页面创建项目时,我无法对创建的codebuild项目进行编辑或添加工件!我需要能够添加一个工件位置,否则action我的一个codepipeline将失败。

这是一个已知错误吗?

0 投票
2 回答
3132 浏览

amazon-web-services - Docker 映像构建为 AWS CodePipeline 步骤

我能够在 github 和 AWS CodePipeline 之间设置集成,所以现在我的代码在 lambda 函数的推送事件之后上传到 S3。这很好用。

S3 上带有源代码的新 ZIP 触发了构建代码的管道。没关系。现在我还想为该项目构建一个 docker 映像。

第一个问题是您不能混合使用项目(nodejs)构建和 docker 构建。很好,有道理。下一个问题是您不能为 docker 构建提供另一个 buildspec.yml。您已经手动指定了构建命令,好的,这是一种解决方法。

最大的问题,或者说缺乏我的理解,是如何将 docker build 作为管道的一部分?第一个构建步骤构建项目,下一个构建步骤构建 docker 映像。两个独立的 AWS CodeBuild。

问题是管道构建步骤必须在输出上产生一个工件。但是 docker build 不会生成任何文件,并且看起来 docker build 之后的最终 docker push 没有被管道服务限定为工件。

有没有办法做到这一点?

谢谢

0 投票
1 回答
1796 浏览

amazon-web-services - 代码构建错误:上传工件失败:arn 无效

在 aws codebuild 服务中,我正在尝试构建 PHP 项目。由于它不会创建任何工件,因此我在 buildspec.yml 文件的 post_build 中创建了 zip。我需要使用 codedeploy 来部署工件,并且 codedeploy 没有 Revision Type 作为 codecommit。Yaml 文件的图像已附加输入。

当在 codebuild 上给出构建时,UPLOAD_ARTIFACTS 失败,错误消息为"Failed to upload artifacts: Invalid arn"。但根据日志,找到了工件并给出“UPLOAD_ARTIFACTS Success”。

附上相同的图像。出了什么问题?这是一个错误还是我想遵循另一个程序?

点击这里查看 Yaml 文件

单击此处查看控制台输出

0 投票
3 回答
18132 浏览

git - AWS CodePipeline,构建失败并收到错误为 YAML_FILE_ERROR M

我是 AWS CodePipeline 的新手,过去从未使用过 Jenkins 等任何持续集成工具。我创建了一个新的 AWS CodePipeline作为 AWS CodeCommit(代码存储库)-> CodeBuild(不是 docker,环境是 NodeJS 7)- > AWS 代码部署。一切都只在 AWS 上。这是一个 Angular2 项目,最终部署在 EC2 实例(Windows server 2008)上运行。在我的本地机器上,我可以通过活动 IAM 用户(Git 访问)将我的代码提交给 AWS CodeCommit,然后我可以看到 CodePipleline 在 Source 正常(绿色)但下一步即构建失败(红色颜色)。当我单击其详细信息时,我可以看到以下错误日志:-

https://forums.aws.amazon.com/ 2016/12/23 18:21:16 等待代理 https://forums.aws.amazon.com/ 2016/12/23 18:21:36 阶段是DOWNLOAD_SOURCE https://forums.aws.amazon.com/ 2016/12/23 18:21:38 阶段完成:DOWNLOAD_SOURCE 成功:false https://forums.aws.amazon.com/ 2016/12/23 18:21: 38 阶段上下文状态代码:YAML_FILE_ERROR 消息:YAML 文件不存在 https://forums.aws.amazon.com/ 2016/12/23 18:21:38 运行时错误(YAML 文件不存在)

有人可以指导我解决这个错误吗?我不知道这个 YAML 文件是什么意思。我用谷歌搜索,但没有发现与我的 NodeJS Angular 项目相关的内容。

谢谢你,维诺德库马尔