go - 使用 go run code.go 执行 Go 程序以供实际使用是最佳实践吗?

标签 go azure-devops continuous-integration

我有一个 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/

相关文章:

docker - 如何禁用 CGO 以运行测试

visual-studio-2008 - 在VS2008中,有什么方法可以将单元测试与集成测试分开吗?

unit-testing - 将 html 与 testacularjs 集成时出错

go - KrakenD 插件读取配置设置

go - 如何在受互斥锁保护的结构中找到数据竞争?

ubuntu - kubernetes 在 ubuntu 中找不到正确的 go

azure - 源参数未指定蛋糕

azure-devops - Azure DevOps 管道中 $(System.AccessToken) 中 token 的范围是什么

azure - 如何将 Azure 应用程序网关扩展到 125 个实例限制之外?

python - 自动化Python软件包发布过程