标签: aws-codebuild

如何在完成 Boto3 单元测试之前等待 CodeBuild 项目完成构建?

当为 CodeBuild 编写 Python Boto3 单元测试时,是否可以先 start_build() 然后 wait() 等待构建完成,然后再评估我的测试是否通过?通常,我只使用服务员,但据我所知,CodeBuild 没有任何服务员(我执行了 client.waiter_names 并得到了一个空数组,并且 Boto3 文档没有列出 CodeBuild 客户端的任何服务员)。

我发现了这个(重复的)问题,但答案并没有解决如何实际解决等待问题 - 它只是说如何检查构建的状态。如果我能以某种方式 wait() 直到状态更改为某个值,那将很有用。

python-unittest boto3 aws-codebuild

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

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

在 AWS CodeBuild 中调用 bash 脚本:找不到脚本

我正在尝试按照AWS 文档在我的 CodeBuild 进程中运行一个小型 bash 脚本。

deploy.sh可以在目录中找到src/

#!/bin/bash

pwd=$PWD

for dir in */ ; do
  target="$pwd/${dir%/}"
  cd "$target"
  npm install
  sls deploy && sls s3deploy
done
Run Code Online (Sandbox Code Playgroud)

构建规范文件:

version: 0.2

phases:
  install:
    runtime-versions:
      nodejs: 10
    commands:
    - cd backend/functions/src
    - npm install serverless
  build:
    commands:
    - ls
    - ./deploy.sh
Run Code Online (Sandbox Code Playgroud)

ls在日志中执行上述命令之后,我可以看到deploy.sh当前目录中存在该命令。

错误:

/codebuild/output/tmp/script.sh: 4: /codebuild/output/tmp/script.sh: ./deploy.sh: 未找到

我也尝试过使用该命令,/bin/bash deploy.sh但这会导致另一个错误:

deploy.sh:第 2 行:$'\r':找不到命令

deploy.sh:第 4 行:$'\r':找不到命令

deploy.sh:第 7 行:$'\r':找不到命令

deploy.sh:第 8 …

bash amazon-web-services aws-codebuild

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

AWS CodeBuild 无法使用 CD 命令

我在 CodeCommmit 中有一个非常简单的 Hello World Java 项目,具有以下结构

\n\n
This is a sample template for sam-app - Below is a brief explanation of what we have generated for you:\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md                                   <-- This instructions file \n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 HelloWorldFunction                          <-- Source for HelloWorldFunction Lambda Function \n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pom.xml                                 <-- Java dependencies \n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src \n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main \n\xe2\x94\x82       \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 java \n\xe2\x94\x82       \xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 helloworld \n\xe2\x94\x82       \xe2\x94\x82           \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 App.java                <-- Lambda function code \n\xe2\x94\x82       \xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 GatewayResponse.java    <-- POJO for API Gateway Responses object …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-codecommit aws-codebuild

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

在 Docker 容器内传递 AWS CodeBuild IAM 角色 [无法找到凭证]

在 CodeBuild 项目上配置的角色在运行时环境中运行良好,但在我们从容器内部运行命令时不起作用,它显示“无法找到凭据”。
让我知道我们如何在容器内开箱即用地使用角色。

amazon-web-services amazon-iam aws-codepipeline aws-codebuild

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

AWS CodeBuild 失败,ListObjectsV2 操作的访问被拒绝

我正在尝试在 AWS CodePipeline 中设置管道,并在触发 CodeCommit 的更改后,CodeBuild 启动。它执行文件中所述的命令buildspec.yaml,但在将内容同步到 S3 存储桶时失败。

目前,我已将策略附加到相应的 CodeBuild 服务角色AmazonS3FullAccess,但它给出了以下错误:

[Container] 2020/03/20 16:13:22 Running command aws s3 sync ./dist/ProjectName/ s3://project-name-dev
fatal error: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

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

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

如何从 AWS Codebuild 构建规范文件中排除文件夹?

所以我需要从我的工件中排除一个文件夹,但谷歌搜索找不到任何信息。

version: 0.2

phases:
  install:
    runtime-versions:
      nodejs: 10
  build:
    commands:
    - echo Build started on `date`
     - echo Compiling the Node.js code
     - mocha test.js

  post_build:
    commands:
      - echo Build completed on `date`
artifacts:
  files:
    - '**/*'
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-codebuild

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

AWS CodeBuild 和 CodeDeploy 上的 Lerna 未安装本地依赖项

所以我有一个名为 backend 的 Typescript 项目,其 package.json 中具有这样的依赖关系:

"dependencies": {
  "@the-couple-game/helpers": "^1.0.0",
}
Run Code Online (Sandbox Code Playgroud)

助手(也是 Typescript)位于另一个文件夹中,其 package.json 如下所示:

{
    "name": "@the-couple-game/helpers",
}
Run Code Online (Sandbox Code Playgroud)

因此,运行lerna bootstrap应该链接两者,并在后端的 node_modules 中安装@the- Couple-game/helpers,这是在本地执行的。

但是,使用 Codebuild 使用下面的 buildspec.yml 执行相同的操作(使用 --no-ci 因为我不想要 npm ci)不会在后端的 node_modules 中添加 @the- Couple-game/helpers 。因此,如果我运行后端的转换后的index.js,它会抱怨缺少模块。

version: 0.1
phases:
  install:
    commands:
      - npm install -g lerna
  pre_build:
    commands:
      - lerna bootstrap --no-ci --concurrency 4
  build:
    commands:
      - lerna run build --concurrency 4
artifacts:
  files:
    - "**/*"
Run Code Online (Sandbox Code Playgroud)

目前,我必须在部署到 CodeDeploy 后手动执行 lerna 引导程序(使用从 appspec.yml 调用的脚本),以便它安装缺少的模块,但 Codebuild 不应该覆盖该部分吗? …

aws-code-deploy aws-codepipeline lerna aws-codebuild aws-code-deploy-appspec

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

使用 aws codeartifact 和 MVN 构建规范

我一直在寻找一个示例构建规范,其中将 codeartifacts 与 mvn 集成。

这是我的buildpsec,以下是我的疑惑。

  1. 由于我们无法创建一个setting.xml,其中aws告诉我们提及服务器、镜像、配置文件和令牌,因此我们如何将依赖项上传到工件存储库。
  2. 我的目标是仅将生成的 jar 而不是 .m2/* 所有依赖项放入 artefact 存储库中,而且这是一个好方法吗?

buildspec file

version: 0.2 
phases: 
  install: 
    runtime-versions: 
      java: openjdk8 
    commands: 
      - pip3 install awscli --upgrade --user 
      - export CODEARTIFACT_TOKEN=`aws codeartifact get-authorization-token --domain $DOMAIN --domain-owner $ACCOUNT_ID --query authorizationToken --output text` 
  build: 
    commands: 
      - echo Build started on `date` 
      - mvn package 
artifacts: 
  type: zip 
  files: 
    - '/target/launcher-0.0.1-SNAPSHOT.jar' 
cache: 
  paths: 
    - '/root/.m2/**/*'.
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-codebuild aws-codeartifact

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

AWS Codebuild:名为“5.0”的 dotnet 的未知运行时版本

我有针对Dot net 5.0 的ASP.net 核心 API 。有没有人使用 CI/CD 方法和 AWS CodeBuild 在 Amazon Linux 平台上成功部署 dotnet 5 应用程序?

我尝试使用latest解析为 version 的dotnet 3.1。而且,当我使用5.0in 时buildspec.yml,它会出错。根据博客,它似乎受到支持。但不确定如何使用buildspec.yml.

phases:   
  install:
    runtime-versions:
      dotnet: 5.0
Run Code Online (Sandbox Code Playgroud)

错误

amazon-web-services .net-core aws-codepipeline aws-codebuild

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