AWS代码构建未在构建后运行terraform
我正在尝试在aws codebuild上为我的项目设置构建,我正在使用terraform来设置所有实例、route53和等等。。。但在docker push之后,terraform脚本永远不会执行。我想知道为什么。(我是新来的…) 生成历史记录末尾的输出:AWS代码构建未在构建后运行terraform,terraform,aws-codebuild,Terraform,Aws Codebuild,我正在尝试在aws codebuild上为我的项目设置构建,我正在使用terraform来设置所有实例、route53和等等。。。但在docker push之后,terraform脚本永远不会执行。我想知道为什么。(我是新来的…) 生成历史记录末尾的输出: sha256:xxxxxx size: 3066 [Container] 2018/01/11 22:33:08 Phase complete: POST_BUILD Success: true [Container] 2018/01/11
sha256:xxxxxx size: 3066
[Container] 2018/01/11 22:33:08 Phase complete: POST_BUILD Success: true
[Container] 2018/01/11 22:33:08 Phase context status code: Message:
我的terraform脚本最后也没运行过?请帮忙
感谢您的YAML,看起来您正在尝试将一个多行值(图像标签…)与另一个值列表(地形脚本)混合,以用于后期构建命令。其效果是“命令”将仅设置为第一个单线值,列表将被取消标记 命令项旨在成为YAML列表: 例如:
version: 0.2
phases:
install:
commands:
- echo Running docker daemon
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
build:
commands:
- docker build -t mywebsite .
post_build:
commands:
- IMAGE_TAG=`echo $CODEBUILD_BUILD_ID`
- IMAGE_PATH="$IMAGE_PATH_PREFIX:$IMAGE_TAG"
- docker tag mywebsite $IMAGE_PATH
- docker push $IMAGE_PATH
- cd ./buildTools/terraform
- terraform init
- terraform apply
从YAML来看,您似乎正在尝试将一个多行值(IMAGE_TAG…)与另一个值列表(您的terraform脚本)混合,以用于post_build命令。其效果是“commands”将仅设置为第一个单一的多行值,并且该列表将被忽略 命令项旨在成为YAML列表: 例如:
version: 0.2
phases:
install:
commands:
- echo Running docker daemon
- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&
build:
commands:
- docker build -t mywebsite .
post_build:
commands:
- IMAGE_TAG=`echo $CODEBUILD_BUILD_ID`
- IMAGE_PATH="$IMAGE_PATH_PREFIX:$IMAGE_TAG"
- docker tag mywebsite $IMAGE_PATH
- docker push $IMAGE_PATH
- cd ./buildTools/terraform
- terraform init
- terraform apply
您需要去掉破折号“-”,因为您已经在使用批量shell脚本符号“|”。因此,您的后期构建步骤应如下所示:
post_build:
commands: |
IMAGE_TAG=`echo $CODEBUILD_BUILD_ID`
IMAGE_PATH="$IMAGE_PATH_PREFIX:$IMAGE_TAG"
docker tag mywebsite $IMAGE_PATH
docker push $IMAGE_PATH
cd ./buildTools/terraform
terraform init
tterraform apply
您需要去掉破折号“-”,因为您已经在使用批量shell脚本符号“|”。因此,您的后期构建步骤应如下所示:
post_build:
commands: |
IMAGE_TAG=`echo $CODEBUILD_BUILD_ID`
IMAGE_PATH="$IMAGE_PATH_PREFIX:$IMAGE_TAG"
docker tag mywebsite $IMAGE_PATH
docker push $IMAGE_PATH
cd ./buildTools/terraform
terraform init
tterraform apply