我正在 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容器?
我正在为我的 angular-7 项目使用 AWS 代码构建。我在现有项目中安装 AWS-amplify,但在构建 AWS 服务 (codeBuild) 时出现以下错误。
ng build --prod:Javascript 堆内存不足
本地构建运行成功,但不知道管道(codeBuild)阶段失败的真正原因。
尝试了 StackOverflow 的一些帮助以及类似这个问题的帮助,但一切都是徒劳的。知道为什么 AWS 代码构建会出现此问题而不是本地代码构建吗?以及解决方案来摆脱此问题。谢谢
我是 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
我在 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。
如有任何帮助,我们将不胜感激。
在aws codebuild服务中,我正在尝试构建PHP项目.由于它没有创建任何工件,我在buildspec.yml文件的post_build中创建了zip.我需要使用codedeploy部署工件,而codedeploy没有作为codecommit的Revision Type.Yaml文件的图像附有输入.
当在codebuild上给出构建时,UPLOAD_ARTIFACTS失败并显示错误消息"无法上传工件:无效的arn".但是根据日志,找到了工件并给出了"UPLOAD_ARTIFACTS Success".
图像附加相同.出了什么问题?这是一个错误还是我想要遵循另一个程序?
我们在代码构建过程中需要环境变量.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) 我正在尝试让 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
我已经成功设置了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
我试图在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) 我正在尝试在 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
aws-codebuild ×10
amazon-s3 ×2
docker ×2
amazon-ecs ×1
angular-cli ×1
aws-ecr ×1
laravel ×1
nuxt.js ×1
php ×1
xcodebuild ×1