如何為所有平臺構建像 https://github.com/hashicorp/terraform-provider-aws 這樣的 Terraform 提供程序?當我這樣做時,我只在Mac上得到一個二進制文件。make build我想為Terraform通常支持的所有平臺構建。
2 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
您可以通過設置環境變量和 Go 工具鏈可以理解的環境變量來針對特定的單個其他平臺進行編譯。例如,您可以通過在提供程序的主包中運行以下命令來構建x86_64上的 Windows:GOOS
GOARCH
GOOS=windows GOARCH=amd64 go install
不幸的是,為提供商團隊支持的所有體系結構構建的過程是由每個提供商團隊維護的構建過程,因此在提供商之間可能會有所不同。但是,一種常見的模式(對于 AWS 提供商來說也是如此)是使用 GoReleaser 跨多個平臺構建、標記和發布版本。
在撰寫本文時,AWS 提供商的 .goreleaser.yml
指定了受支持的操作系統和架構組合的矩陣。因此,如果您安裝了 GoReleaser,則可以使用 goreleaser
build 為同一組目標構建分發包。
對于團隊使用 GoReleaser 管理其版本的其他提供商來說,情況也是如此。一些提供商可能會使用其他模式,但在撰寫本文時,GoReleaser是Terraform文檔中推薦的技術,因此這是一個非常常見的選擇。

尚方寶劍之說
TA貢獻1788條經驗 獲得超4個贊
您可以傳遞環境變量,并用于所需的操作系統和體系結構。GOOS
GOARCH
例如:為Linux ppc64架構構建。GOOS=linux GOARCH=ppc64 go build
- 2 回答
- 0 關注
- 109 瀏覽
添加回答
舉報
0/150
提交
取消