使用股票CodeBuild Ubuntu14.04基本图像.
其他人遇到目录的奇怪行为?像"pushd"这样的命令不存在.你从这个奇怪的"/ tmp/src200838814/src"目录开始.cd命令似乎也很糟糕.
当你试图运行cmake时真的很难.
使用以下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) 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) 我在AWS中拥有最基本的设置:
都在默认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)
我应该从哪里开始寻找错误?
我正在尝试设置 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) 我使用 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 install在function-1和function-2子文件夹上都做,并将子文件夹提交node_modules到 git repo。
如何直接从构建规范在我的所有子文件夹上运行 npm install 以便我不必提交 node_modules 子文件夹?
我最近一直在使用CodeBuild和CodePipeline,遇到了这个问题。
CodeBuild成功完成后,应将构建工件上载到S3存储桶。但是我注意到,当我单击View Artifacts按钮时,它只是告诉我发生了错误,并且我的S3存储桶也没有构建工件。
代码构建成功完成
但是,单击“查看工件”链接会将我带到此错误消息。
似乎我的构建工件没有上传到S3
这是我的Buildspec.yaml
version: 0.2
phases:
build:
commands:
- echo "Entering build"
- npm install
- echo "Finishing build"
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个代码构建,其中我有一个模块可以为其他构建创建依赖项。这些其他构建将使用第一个构建生成的工件,并且这些构建应该并行运行。我正在查看 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
我的 Codebuild 项目,它由 ansible 供应商通过打包器创建 AMI。
这个打包程序在我的本地环境和 Amazon linux2 ec2 环境中设置成功。但是,当我将 AWS Codebuild 与 aws/codebuild/amazonlinux2-x86_64-standard:1.0 图像一起使用时,它失败了。
我已经尝试过这个设置remote_tmp = /tmp,remote_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) 我正在尝试使用以下方法运行 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)
但它们都不起作用。
aws-codebuild ×10
amazon-rds ×1
amazon-s3 ×1
ansible ×1
github ×1
node.js ×1
packer ×1
php ×1
shell ×1
terraform ×1