标签: aws-codebuild

AWS CodeBuild目录问题?

使用股票CodeBuild Ubuntu14.04基本图像.

其他人遇到目录的奇怪行为?像"pushd"这样的命令不存在.你从这个奇怪的"/ tmp/src200838814/src"目录开始.cd命令似乎也很糟糕.

当你试图运行cmake时真的很难.

amazon-web-services aws-codebuild

2
推荐指数
1
解决办法
669
查看次数

AWS Codebuild Terraform提供程序

使用以下buildspec.yml在codebuild中运行terraform部署。似乎terraform没有获得codebuild角色提供的IAM权限。我们正在使用terraform的远程状态(状态文件存储在s3中),当terraform尝试联系包含状态文件的S3存储桶时,它死了,要求provider配置terraform :

Downloading modules (if any)...
Get: file:///tmp/src486521661/src/common/byu-aws-accounts-tf
Get: file:///tmp/src486521661/src/common/base-aws-account-
...
Error configuring the backend "s3": No valid credential sources found for AWS Provider.
Run Code Online (Sandbox Code Playgroud)

这是buildspec.yml:

version: 0.1
phases:
  install:
    commands:
      - cd common && git clone https://eric.w.nord@gitlab.com/aws-account-tools/acs.git
      - export TerraformVersion=0.9.3 && cd /tmp && curl -o terraform.zip https://releases.hashicorp.com/terraform/${TerraformVersion}/terraform_${TerraformVersion}_linux_amd64.zip && unzip terraform.zip && mv terraform /usr/bin
  build:
    commands:
      - cd accounts/00/dev-stack-oit-byu && terraform init && terraform plan && echo terraform apply
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform aws-codebuild

2
推荐指数
1
解决办法
1541
查看次数

AWS Codebuild createProject 方法缺少 Github 身份验证的 oauth 令牌参数?

AWS Codebuild createProject 方法缺少 Github 身份验证的 OAuth 令牌参数?

我想避免使用 CodePipeline。我想使用 Github 令牌以编程方式创建代码构建项目,但我似乎找不到包含 GitHub 令牌的方法。有人经历过吗?

var params = {
    artifacts: {
      /* required */
      type: 'S3',
      location: 'STRING_VALUE',
      packaging: 'ZIP'
    },
    environment: {
      /* required */
      computeType: 'BUILD_GENERAL1_LARGE',
      image: 'aws/codebuild/nodejs:4.3.2', /* required */
      type: "LINUX_CONTAINER",
    },
    name: key, /* required */
    source: {
      /* required */
      type: "GITHUB",
      auth: {
        type: "OAUTH"
      },
      buildspec: 'echo "test";',
      location: `https://github.com/${original.organizations.name}/${original.repos.name}.git`,

    },
    description: 'STRING_VALUE',
    serviceRole: 'arn:aws:iam::171566796811:role/tmmmm6',
    timeoutInMinutes: 5
  };
  codebuild.createProject(params, function (err, data) { …
Run Code Online (Sandbox Code Playgroud)

github amazon-web-services aws-codebuild

2
推荐指数
1
解决办法
1185
查看次数

AWS CodeBuild无法与RDS实例互动

我在AWS中拥有最基本的设置:

  • 一个可公开访问的RDS实例(PostgreSQL 9.6.6-与我的开发实例相同)
  • 一个CodeBuild项目

都在默认VPC中。

我的应用程序是用Laravel 5.5编写的,并且在某些时候buildspec.yml运行./artisan migrate --force,并且CodeBuild输出以下错误:

[Container] 2018/03/10 19:41:36 Running command php artisan migrate --force

[Illuminate\Database\QueryException] 
SQLSTATE[08006] [7] timeout expired (SQL: select * from information_schema. 
tables where table_schema = public and table_name = migrations)     

[Doctrine\DBAL\Driver\PDOException] 
SQLSTATE[08006] [7] timeout expired    

[PDOException] 
SQLSTATE[08006] [7] timeout expired 
Run Code Online (Sandbox Code Playgroud)

我应该从哪里开始寻找错误?

php amazon-web-services amazon-rds aws-codebuild

2
推荐指数
1
解决办法
773
查看次数

使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk

我正在尝试设置 AWS Codebuild 以将应用程序部署到 AWS Elastic Beanstalk。

问题在于,AWS CodeBuild 似乎无法使用 EB CLI(似乎应该可以,阅读本文... https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli-代码构建.html )

因此,当我在 CodeBuild 上指定 eb cli 命令时:

version: 0.2

phases:
  install:
    commands:
      - echo Logging into Amazon ECR...
      - eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application
Run Code Online (Sandbox Code Playgroud)

我得到:

/codebuild/output/tmp/script.sh: eb: not found
Run Code Online (Sandbox Code Playgroud)

我还尝试使用以下命令安装 CLI:

- pip install --upgrade awsebcli awscli
- eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application
Run Code Online (Sandbox Code Playgroud)

并通过对 Elastic Beanstalk 的完全访问扩展了生成的 AWS CodeBuild 角色

但我收到此错误:

ERROR: NotAuthorizedError - Operation Denied. Access Denied
Run Code Online (Sandbox Code Playgroud)

--debug在命令中添加了一个标志,这是确切的错误:

2018-09-10 13:33:55,151 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elastic-beanstalk aws-codebuild

2
推荐指数
1
解决办法
1498
查看次数

如何使用 AWS CodeBuild npm 安装所有函数目录

我使用 AWS Cloud Formation 作为我的后端,具有以下项目文件结构:

| template.yaml
| lambda-functions
  | ---- function-1
       |----function.js
       |----package.json
  | ---- function-2
       |----function.js
       |----package.json
Run Code Online (Sandbox Code Playgroud)

在 AWS 构建规范中,我做aws cloudformation package了一个aws cloudformation deploy.

如果我想让它工作,我需要npm installfunction-1function-2子文件夹上都做,并将子文件夹提交node_modules到 git repo。

如何直接从构建规范在我的所有子文件夹上运行 npm install 以便我不必提交 node_modules 子文件夹?

amazon-web-services node.js aws-codebuild

2
推荐指数
1
解决办法
2471
查看次数

CodeBuild不会将Build Artifact上传到S3

我最近一直在使用CodeBuild和CodePipeline,遇到了这个问题。

CodeBuild成功完成后,应将构建工件上载到S3存储桶。但是我注意到,当我单击View Artifacts按钮时,它只是告诉我发生了错误,并且我的S3存储桶也没有构建工件。

代码构建成功完成

代码构建成功

但是,单击“查看工件”链接会将我带到此错误消息。

S3错误消息

似乎我的构建工件没有上传到S3

这是我的Buildspec.yaml

version: 0.2

phases:
  build:
    commands:
       - echo "Entering build"
       - npm install
       - echo "Finishing build"
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-codebuild

2
推荐指数
1
解决办法
1113
查看次数

如何使用 AWS Codebuild 运行并行构建?

我正在尝试设置一个代码构建,其中我有一个模块可以为其他构建创建依赖项。这些其他构建将使用第一个构建生成的工件,并且这些构建应该并行运行。我正在查看 CodeBuild 的文档,似乎那里没有信息。我的 buildspec.yml 示例

version: 0.2

#env:
  #variables:
     # key: "value"
     # key: "value"
  #parameter-store:
     # key: "value"
     # key: "value"
  #git-credential-helper: yes

phases:
  #install:
    #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions.
    #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails.
    #runtime-versions:
      # name: version
      # name: version
    #commands:
      # - command
      # - command
#  pre_build:
#    commands:
#       - mkdir artifacts
# …
Run Code Online (Sandbox Code Playgroud)

continuous-integration amazon-web-services continuous-deployment aws-codepipeline aws-codebuild

2
推荐指数
1
解决办法
3685
查看次数

ansible 的打包程序配置在 aws 代码构建中失败

我的 Codebuild 项目,它由 ansible 供应商通过打包器创建 AMI。

这个打包程序在我的本地环境和 Amazon linux2 ec2 环境中设置成功。但是,当我将 AWS Codebuild 与 aws/codebuild/amazonlinux2-x86_64-standard:1.0 图像一起使用时,它失败了。

我已经尝试过这个设置remote_tmp = /tmpremote_tmp = /tmp/.ansible-${USER}/tmp但没有奏效。

认证或权限失败,对远程目录没有权限

version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.7
  pre_build:
    commands:
      - python --version
      - pip --version
      - curl -qL -o packer.zip https://releases.hashicorp.com/packer/1.4.3/packer_1.4.3_linux_amd64.zip && unzip packer.zip
      - ./packer version
      - pip install --user ansible==2.8.5
      - ansible --version
      - echo 'Validate packer json'
      - ./packer validate packer.json
  build:
    commands:
      - ./packer build -color=false packer.json | tee build.log …
Run Code Online (Sandbox Code Playgroud)

packer amazon-web-services ansible aws-codebuild

2
推荐指数
1
解决办法
2267
查看次数

如何在 AWS CodeBuild 的 buildspec 文件中运行 for 循环?

我正在尝试使用以下方法运行 for 循环以遍历克隆代码中的多个文件夹

commands:
- folders=`ls`
- for value in ${folders}
- do
- some_code_here
- done
Run Code Online (Sandbox Code Playgroud)

另外,我尝试了不同的方法,例如

- for value in ${folders}; do
- some_code_here
- done
Run Code Online (Sandbox Code Playgroud)

但它们都不起作用。

shell amazon-web-services aws-codebuild

2
推荐指数
1
解决办法
2281
查看次数