我有一个 CI/CD 管道,它需要跨平台并与几个不同的管理程序一起工作。为了不必更改 Windows 和 Linux 的构建任务,我认为 Go 将是编写一次代码并在任何地方运行的好方法。然而,考虑到 Go 创建可执行文件,一个难题出现了——我的 CI/CD 平台无法在构建时引入 exe 或二进制文件以通过 Go“正常”运行构建步骤。我在想我可以将 Go 代码与项目一起提交并使用:
go run build_step.go
对于每个构建任务,但我想知道这是否是可接受的实践/用例。我知道它会起作用,只是想知道是否有更好的方法来做到这一点。我正在使用 Azure DevOps Pipelines 来获得它的值(value)。
最佳答案
您可以使用交叉构建。例子 :
GOOS=windows GOARCH=386 go build -o build.exe build_step.go
或者
GOOS=linux GOARCH=arm go build -o build build_step.go
关于go - 使用 go run code.go 执行 Go 程序以供实际使用是最佳实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59968053/