我正在尝试为Terraform实现CI / CD管道,但是我需要在运行任何进一步的命令之前更改pwd。
Terraform容器似乎只接受Terraform命令,因此无法识别cd / ls / echo $ PATH。我是否需要构建支持此功能的图像并使用它,或者我可以使用维护的Terraform图像吗?
我尝试更改ENTRYPOINT,但由于Alpine图像,只显示最小安装量。
答案 0 :(得分:0)
您可以在alpine
中使用.gitlab-ci.yml
等通用图片,并在脚本中获取Terraform,如:
wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_386.zip
unzip terraform*
并使用它:
./terraform [...]
答案 1 :(得分:0)
您可以将入口点更改为/usr/bin/env
以便运行cd命令。 gitlab-ci的示例:
validate_terraform:
image:
name: hashicorp/terraform:light
entrypoint: "/usr/bin/env"
stage: test
script:
- cd infrastructure/
- terraform init
- terraform validate