Amazon web services 为什么codebuild.sh无法运行我的本地生成?
我试图在本地测试我的构建,而不需要一直上传我的代码。因此,我将代码下载到我的ubuntu机器中,并放入Amazon web services 为什么codebuild.sh无法运行我的本地生成?,amazon-web-services,aws-codebuild,Amazon Web Services,Aws Codebuild,我试图在本地测试我的构建,而不需要一直上传我的代码。因此,我将代码下载到我的ubuntu机器中,并放入~/.local/bin/codebuild\u build 然后我通过以下方式使其可执行: chmod +x ~/.local/bin/codebuild_build 并使用以下buildspec.yml: version: 0.2 phases: install: runtime-versions: docker: 18 pre_build: comman
~/.local/bin/codebuild\u build
然后我通过以下方式使其可执行:
chmod +x ~/.local/bin/codebuild_build
并使用以下buildspec.yml
:
version: 0.2
phases:
install:
runtime-versions:
docker: 18
pre_build:
commands:
- docker login -u $USER -p $TOKEN
build:
commands:
- docker build -f ./dockerfiles/7.0.8/Dockerfile -t myapp/php7.0.8:$(cat VERSION_PHP_708) -t myapp/php7.0.8:latest .
- docker build -f ./dockerfiles/7.0.8/Dockerfile_develop -t myapp/php7.0.8-dev:$(cat VERSION_PHP_708) -t myapp/php7.0.8-dev:latest .
- docker build -f ./dockerfiles/7.2/Dockerfile -t myapp/php7.0.8:$(cat VERSION_PHP_72) -t myapp/php7.0.8:latest .
- docker build -f ./dockerfiles/7.2/Dockerfile_develop -t myapp/php7.0.8-dev:$(cat VERSION_PHP_708) -t myapp/php7.0.8-dev:latest .
post_build:
commands:
- docker push etable/php7.2
- docker push etable/php7.2-dev
- docker push etable/php7.0.8
- docker push etable/php7.0.8-dev
我试着这样执行我的命令:
codebuild_build -i amazon/aws-codebuild-local -a /tmp/artifacts/docker-php -e .codebuild -c ~/.aws
但我得到以下输出:
Build Command:
docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=amazon/aws-codebuild-local" -e "ARTIFACTS=/tmp/artifacts/docker-php" -e "SOURCE=/home/pcmagas/Kwdikas/docker-php" -v "/home/pcmagas/Kwdikas/docker-php:/LocalBuild/envFile/" -e "ENV_VAR_FILE=.codebuild" -e "AWS_CONFIGURATION=/home/pcmagas/.aws" -e "INITIATOR=pcmagas" amazon/aws-codebuild-local:latest
Removing agent-resources_build_1 ... done
Removing agent-resources_agent_1 ... done
Removing network agent-resources_default
Removing volume agent-resources_source_volume
Removing volume agent-resources_user_volume
Creating network "agent-resources_default" with the default driver
Creating volume "agent-resources_source_volume" with local driver
Creating volume "agent-resources_user_volume" with local driver
Creating agent-resources_agent_1 ... done
Creating agent-resources_build_1 ... done
Attaching to agent-resources_agent_1, agent-resources_build_1
build_1 | 2020/01/16 14:43:58 Unable to initialize (*errors.errorString: AgentAuth was not specified)
agent-resources_build_1 exited with code 10
Stopping agent-resources_agent_1 ... done
Aborting on container exit...
My ~/.aws具有以下文件:
$ ls -l /home/pcmagas/.aws
σύνολο 8
-rw------- 1 pcmagas pcmagas 32 Αυγ 8 17:29 config
-rw------- 1 pcmagas pcmagas 116 Αυγ 8 17:34 credentials
而配置具有以下功能:
[default]
region = eu-central-1
和~/.aws/credentials
的格式如下:
[default]
aws_access_key_id = ^KEY_ID_CENSORED^
aws_secret_access_key = ^ACCESS_KEY_CENSORED^
在.codebuild
中,我还包含所需的docker登录参数:
USER=^CENCORED^
TOKEN=^CENCORED^
因此,我可以获得docker登录所需的参数
你知道为什么构建无法在本地运行吗?你的预构建步骤有一个命令可以让你登录到docker
docker login -u $USER -p $TOKEN
确保您已将docker登录凭据包括在本地文件环境文件中。预构建步骤中有一个命令可让您登录到docker
docker login -u $USER -p $TOKEN
确保已在本地文件环境文件中包含docker登录凭据。更改“.codebuild”文件中的环境变量名称,例如:
DOCKER_USER=^CENCORED^
DOCKER_TOKEN=^CENCORED^
CodeBuild代理似乎正在解释“令牌”环境变量本身。更改“.CodeBuild”文件中的环境变量名称,例如:
DOCKER_USER=^CENCORED^
DOCKER_TOKEN=^CENCORED^
CodeBuild代理似乎正在解释“TOKEN”环境变量本身。在
.CodeBuild
中,我还包括了这些参数。此外,我的问题也被编辑。此外,错误显示没有关于docker登录的信息,这是关于aws凭据的信息。在.codebuild
中,我还包括这些参数。此外,我的问题也被编辑。此外,错误显示没有关于docker登录的信息,这是关于aws凭据的信息。