https://earth.google.com/web/@36.414691,-5.157423,96a,112d,30y,270h,30t,0r/data=KAI?utm_source=referral&utm_campaign=earthview&utm_term=extension

GoReleaser工具与Go构建技巧

GoReleaser工具与Go构建技巧 GoReleaser GoReleaser 的创建是为了解决我们都曾遇到过的一个问题:发布软件很无聊而且容易出错。 为了解决这个问题,我们最终都创建了脚本来自动化工作,并取得了不同程度的成功。 一般来说,这些脚本往往不可重用,并且依赖于许多其他工具——这使得该进程很难在其他机器上运行。 GoReleaser 的目标是让所有这些脚本都过时:不再编写脚本,而是编写一个简单的 YAML 配置文件; 您(通常)只需要一个 goreleaser 二进制文件,而不是许多工具。 然后,您只需运行一个命令即可构建、存档、打包、签名和发布工件。 我们努力让您(我们的用户)轻松地为您的用户做最好的事情。 这就是为什么我们专注于提供易于使用的集成、良好的默认设置和许多教程以及有助于缓解供应链安全问题的工具、包管理器、go mod 代理等。 通过这种方式,可以轻松提供易于安装的软件包,例如带有签名的校验和、软件物料清单和可复制的二进制文件。 原本地址 总结来说:GoReleaser的作用是让你可以用最少的步骤和时间,把你写的Go程序打包成各种格式,然后发布到网上,让别人可以下载和使用。 使用 1. 安装 2. 项目初始化GoReleaser 1 2 # 安装goreleaser cli工具 goreleaser init 3. 修改配置。GoReleaser配置文档 下面我使用的配置,可以用作于生产使用。也可以参考:ArgoCD GoReleaser 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 before: # 前置构建配置,可以放包检测、单元测试、go generate等,同步运行,失败就停止发布。 hooks: # You may remove this if you don't use go modules....

2023-06-26 14:44:21+08:00 · 4 分钟 · 764 字 · lazychanger