【问题标题】:build Golang release binaries for Github为 Github 构建 Golang 发布二进制文件
【发布时间】:2023-03-04 11:49:02
【问题描述】:

我正在寻找有关如何轻松为 Golang 项目的通用平台构建二进制文件以在 Github 上发布的想法。

我已经知道如何使用 Github 在Creating Releases 的说明手动发布。我目前正在使用aktau/github-release 进行发布,但这需要手动登录到不同的机器(OSX、Linux、Windows)并进行发布。

Benedikt Lang 有 blogged 关于使用 Travis-CI(我还没有尝试过)。但我认为公共 Travis 只会为 Linux 构建二进制文件。

有什么建议吗?

【问题讨论】:

标签: github go


【解决方案1】:

您很可能对仅在 Linux 中构建 Travis CI 是正确的,因为 go 交叉编译要求您从源代码构建并构建其他 go 可执行文件。就像 RoninDev 建议的那样,我建议您按照博客文章设置自己的交叉编译构建环境:

http://dave.cheney.net/2012/09/08/an-introduction-to-cross-compilation-with-go

这很容易,只需要大约 10 分钟。之后,诸如 Jenkins 之类的构建工具将为您提供控件以启动所需平台(Mac、Windows、Linux 等)的构建,然后为每个平台推出 git 版本。

【讨论】:

    【解决方案2】:

    感谢您提供的所有建议和答案。 交叉编译是我一直在寻找的,Dave Cheney's blog post 是一个好的开始。

    但是我找到了一个更好的解决方案 - laher/goxc - “Go 的构建工具,专注于交叉编译、打包和部署”。它的灵感来自 Dave Cheney 的工作,还包括用于 Github 的部署工具——这正是我所寻找的。 (比如我用它来发布soniah/awsenv

    【讨论】:

      【解决方案3】:

      我创建 goreleaser 就是为了做到这一点。

      如果你愿意,你可以试试看:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        • 2023-03-25
        • 2016-12-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多