标签: aws-codebuild

如何让 docker 容器使用 codebuild IAM 身份验证部署到 AWS?

我正在 codebuild 项目中运行 CI/CD,并且我已经为 codebulid 项目配置了一个角色,以允许其将资源(例如 lambda)部署到 AWS 帐户。

但是当我从 codebuild 项目中的 docker 容器运行部署命令时,出现以下错误:

AWS provider credentials not found. Learn how to set up AWS provider credentials in our docs here: <http://slss.io/aws-creds-setup>.

我搜索过人们说使用 env var 或 aws 凭证配置文件。但我的脚本是通过 IAM 身份验证从 codebuild 项目运行的。我怎样才能将它传递给docker容器?

amazon-web-services docker aws-codebuild

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

AWS 中的 codeBuild ng 构建失败,并显示“Javascript 超出堆内存”

我正在为我的 angular-7 项目使用 AWS 代码构建。我在现有项目中安装 AWS-amplify,但在构建 AWS 服务 (codeBuild) 时出现以下错误。

ng build --prod:Javascript 堆内存不足

本地构建运行成功,但不知道管道(codeBuild)阶段失败的真正原因。

尝试了 StackOverflow 的一些帮助以及类似这个问题的帮助,但一切都是徒劳的。知道为什么 AWS 代码构建会出现此问题而不是本地代码构建吗?以及解决方案来摆脱此问题。谢谢

amazon-web-services angular-cli aws-codebuild

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

将 codebuild 操作中创建的环境传递给 codepipeline 中的下游操作

我是 codepipeline 的新手,我在 codepipeline 的构建阶段有多个操作,其中 1 个构建规范类似于下面的内容,我想在 python 文件中动态创建一个下游操作所需的变量。

version: 1
phases:
  install:
    runtime-version:
      python: 3.9
    commands:
      - python -m pip install --upgrade pip 
  build:
    commands:
      - python code/get_date.py
Run Code Online (Sandbox Code Playgroud)

获取日期.py

import datetime
if __name__ == "__main__":
    current_date = strftime("%Y-%m-%d %H:%M:%S", gmtime())
Run Code Online (Sandbox Code Playgroud)

然后我有第二个构建规范文件,它在第二个操作中运行

version: 1
phases:
  install:
    runtime-version:
      python: 3.9
    commands:
      - python -m pip install --upgrade pip 
  build:
    commands:
      - python code/process_date.py
Run Code Online (Sandbox Code Playgroud)

进程日期.py

if __name__ == "__main__":
    # get current date somehow from previous action
    print(current_date)
Run Code Online (Sandbox Code Playgroud)

我该如何完成这样的事情?最好的推荐是什么?我会使用输出工件或变量吗?它们是如何在阶段之间传递这样的值的?

非常感谢任何帮助。

xcodebuild amazon-web-services aws-codepipeline aws-codebuild

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

PHP 解析错误:语法错误,意外的标识符“AnsiColorMode”

我在 AWS Elastic BeanStalk 上部署项目时遇到此错误。我最近从 github 中提取了我的项目,在此之前它部署没有问题。

在跟踪错误时,我发现这一行@php artisan package:discover --ansi就是问题的根源。

下面是错误:

Generating optimized autoload files
Run Code Online (Sandbox Code Playgroud)

Illuminate\Foundation\ComposerScripts::postAutoloadDump @php artisan package:discover --ansi PHP 解析错误:语法错误,/codebuild/output/src155211532/src/vendor/symfony/console/Output/AnsiColorMode.php 中出现意外标识符“AnsiColorMode”第 20 行脚本 @php artisan package:discover --ansi 处理返回的 post-autoload-dump 事件,错误代码为 255

composer.lock如果我删除文件并运行命令,这在 Docker 上效果很好sail composer install

如有任何帮助,我们将不胜感激。

php laravel aws-codepipeline aws-codebuild

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

代码构建错误:无法上传工件:无效的arn

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

当在codebuild上给出构建时,UPLOAD_ARTIFACTS失败并显示错误消息"无法上传工件:无效的arn".但是根据日志,找到了工件并给出了"UPLOAD_ARTIFACTS Success".

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

单击此处查看Yaml文件

单击此处查看控制台输出

amazon-web-services aws-codebuild

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

AWS codebuild没有传递环境变量?

我们在代码构建过程中需要环境变量.Codebuild允许您在高级设置中设置环境变量,我已经完成了.

现在,当codebuild运行时,它似乎没有传递这些环境变量.

我打印出了process.env,这是我得到的:

NAME: '037fga72',
[Container] 2017/02/08 01:55:03 NPM_CONFIG_LOGLEVEL: 'info',
[Container] 2017/02/08 01:55:03 PATH: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
[Container] 2017/02/08 01:55:03 PWD: '/usr/src/app',
[Container] 2017/02/08 01:55:03 SHLVL: '1',
[Container] 2017/02/08 01:55:03 HOME: '/root',
[Container] 2017/02/08 01:55:03 _: '/usr/local/bin/knex' } 'process.env variables...'
Run Code Online (Sandbox Code Playgroud)

没有我的环境变量.

我设置了DB_PASS,DB_USER,DB_NAME,DB_HOST - 这些都没有打印出来.

我尝试创建一个新的代码生成并添加环境变量,但没有运气.

请注意,它正在构建一个docker容器,当我尝试连接到我的postgres数据库时它会失败,因为环境变量没有传递下来(密码,主机等)

编辑

在我的Dockerfile中,我正在运行以下bash文件:

#!/bin/bash
echo "running"
function mytest {
    "$@"
    local status=$?
    if [ $status -ne 0 ]; then
        knex migrate:rollback 
      echo "Rolling back knex migrate $1" >&2
      exit 1
    fi …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services docker aws-codepipeline aws-codebuild

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

如何在 ElasticBeanstalk 中提取 AWS CodeBuild 的输出 zip?

我正在尝试让 AWS CodePipeline 使用 S3 源、CodeBuild 和 Elastic Beanstalk(nodejs 环境)

我的问题在于 CodeBuild 和 Beanstalk 之间。

我让 CodeBuild 通过工件输出最终 nodeJS 应用程序的 zip 文件。这是我的 CodeBuild buildspec.yml

version: 0.1

phases:
  install:
    commands:
      - echo Installing Node Modules...
      - npm install -g mocha
      - npm install
  post_build:
    commands:
      - echo Performing Test
      - npm test
      - zip -r app-api.zip .
artifacts:
  files:
    - app-api.zip
Run Code Online (Sandbox Code Playgroud)

当我手动运行 CodeBuild 时,它成功地将 zip 放入 S3。当我运行 CodePipeline 时,它​​会将 zip 放在 /var/app/current 中的每个 Elastic Beanstalk 实例上作为 app-api.zip

我想要的是将 app-api.zip 提取为 /var/app/current。就像通过 …

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

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

CloudFormation设置CodePipeline / CodeBuild以部署SAM应用程序

我已经成功设置了CodePipeline和CodeBuild来部署我的SAM应用程序。但是现在我想将其转换为CloudFormation。我该怎么做呢?我按照这里的步骤http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html

我被困在CloudFormation模板的CodeBuild部分中...

amazon-web-services aws-cloudformation aws-codepipeline aws-codebuild

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

尽管使用AWS ubuntu容器,但我仍获得AWS ECR退出状态255

我试图在AWS代码构建中构建Docker容器,作为将容器部署到ECR的一种方式,但出现此错误。

Error while executing command: $(aws ecr get-login --region ap-southeast-1). Reason: exit status 255
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

此命令使用aws / codebuild / ubuntu-base:14.04在buildspec.yml文件上运行,如果要构建Docker映像或希望构建获得提升的特权,请启用此标志。

日志文件如下:

[Container] 2018/10/11 00:52:49 Running command $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)

An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User: arn:aws:sts::502776083946:assumed-role/code-build-timesheet/AWSCodeBuild-f1d205b1-b03f-4727-a4d7-a02118021eec is not authorized to perform: ecr:GetAuthorizationToken on resource: *

[Container] 2018/10/11 00:52:52 Command did not exit successfully $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) exit status 255
[Container] 2018/10/11 00:52:52 Phase complete: INSTALL Success: false
[Container] 2018/10/11 00:52:52 Phase …
Run Code Online (Sandbox Code Playgroud)

amazon-ecs aws-codebuild aws-ecr

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

如何使用 CodeBuild 将生成的文件夹内容上传到 S3?

我正在尝试在 AWS 上配置一个 CodePipeline,它将我的 Nuxt 网站放在 Github 上,运行命令npm run generate生成静态网站,然后将dist文件夹上传到S3 存储桶上。

这是我的buildspec.yml样子:

version: 0.2

phases:
  install:
    commands:
      - npm install
  build:
    commands:
      - npm run generate
  post_build:
    commands:
      - aws s3 sync dist $S3_BUCKET
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:The user-provided path dist does not exist.有人知道如何纠正吗?我读了很多关于人工制品的书,但我以前从未使用过它们……

提前致谢,

amazon-s3 amazon-web-services aws-codepipeline aws-codebuild nuxt.js

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