我已經為我的 Terraform 代碼進行了基于 Go 的自動化測試,我想讓它們在 CircleCI 中運行。為此,我為 CircleCI 設置了以下 config.yml:version: 2jobs: build: docker: - image: circleci/golang:1.12 - image: hashicorp/terraform:light working_directory: /go/src/bitbucket.org/teapigsteam/findmytea-terraform steps: - checkout - run: go get -v -t -d ./... - run: go test -v ./...但由于某種原因,Go 找不到 Terraform 可執(zhí)行文件:#!/bin/bash -eo pipefailgo test -v ./...=== RUN TestFindMyTeaAppTestFindMyTeaApp 2020-03-21T12:20:26Z retry.go:72: terraform [init -upgrade=false]TestFindMyTeaApp 2020-03-21T12:20:26Z command.go:87: Running command terraform with args [init -upgrade=false]TestFindMyTeaApp 2020-03-21T12:20:26Z retry.go:80: Returning due to fatal error: FatalError{Underlying: exec: "terraform": executable file not found in $PATH}TestFindMyTeaApp 2020-03-21T12:20:26Z retry.go:72: terraform [destroy -auto-approve -input=false -var app_name=findmytea-terraform-tdd -lock=false]TestFindMyTeaApp 2020-03-21T12:20:26Z command.go:87: Running command terraform with args [destroy -auto-approve -input=false -var app_name=findmytea-terraform-tdd -lock=false]TestFindMyTeaApp 2020-03-21T12:20:26Z retry.go:80: Returning due to fatal error: FatalError{Underlying: exec: "terraform": executable file not found in $PATH}--- FAIL: TestFindMyTeaApp (0.00s) apply.go:13: Error Trace: apply.go:13 findmyteaui_test.go:19 Error: Received unexpected error: FatalError{Underlying: exec: "terraform": executable file not found in $PATH} Test: TestFindMyTeaApp destroy.go:11: 誰能告訴我我做錯了什么?或者也許這根本不可能?
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
不要嘗試使用兩個 Docker 鏡像,而是嘗試只使用hashicorp/terraform:full
?
我相信您看到此錯誤是因為您的代碼是在 Golang 容器中執(zhí)行的,而該容器無法訪問 Terraform light 容器中的可執(zhí)行文件。
您可以創(chuàng)建一個自定義 Docker 映像來運行它,并手動安裝 Terraform。然而,無論如何,該hashicorp/terraform:full
鏡像都是建立在 Golang 鏡像之上的,因此理論上應該會讓您更接近您的目標。
- 1 回答
- 0 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消