当前位置: 首页 > news >正文

Go工程打包版本号

Go工程打包版本号

有些项目,会把版本号写入源码中,每次升级都修改源码号。在 Go 项目中这不是好的处理方式。

一般情况下,可以通过 Git 获得版本信息,可以通过 shell 脚本实现,最后编译 Go 项目时,将版本信息通过 -X 链接参数传递进去:

// main.go
import ("fmt"
)var Version stringfunc main() {fmt.Println("Version:", Version)
}
#!/bin/shversion=""if [ -f "VERSION" ]; thenversion=`cat VERSION`
fiif [[ -z $version ]]; thenif [ -d ".git" ]; thenversion=`shell git symbolic-ref HEAD | cut -b 12-)-$(shell git describe --tags --always --dirty --abbrev=7 2>/dev/null || echo dev`elseversion="unknown"fi
fi
CGO_ENABLED=0 go build -ldflags "-X example.com/main.Version=$version" main.go
# 最终版本号类似于 master-v1.0.4-2-ge5a4ce0-dirty
http://www.gsyq.cn/news/17544.html

相关文章:

  • yolov12 训练json格式 - 实践
  • 使用Grok获取Sora2邀请码
  • 基于MATLAB的火灾检测GUI系统设计与实现
  • 基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行步骤
  • git信息提交错误,进行修改
  • Java方法之可变个数形参(Varargs)学习笔记
  • 10-9
  • 2025 年人源化小鼠公司最新推荐榜:临床前 CRO 型 / 基因人源化 / 精准医疗型 / 创新型企业综合评选 TOP 名单
  • 完整教程:搭建nginx的负载均衡
  • 2025 年最新工业冷水机厂家排行榜:风冷式 / 螺杆式 / 实验室等多类型冷水机优质厂家最新推荐
  • 2025 年最新国际物流服务公司权威排行榜单发布,含海运快递跨境专线等领域最新推荐国际物流海运专线/国际物流专线/国际物流公司/国际物流一条龙公司推荐
  • 2025 年最新台车炉实力厂家榜单发布,含大型燃气 / 天然气 / 热处理 / 全纤维等类型设备最新推荐及优质企业核心优势解析
  • lambda自递归
  • 假脱机技术
  • 实用指南:React简单例子
  • The 4th Universal Cup
  • 有难度哦/Qt基于通用地图组件实现航迹规划和模拟/动态标注轨迹线/带序号和方向箭头指示
  • iOS应用商店遭遇首次大规模恶意软件攻击
  • 解密prompt系列61. 手搓代码沙箱与FastAPI-MCP实战
  • 使用sqlite-loadable-rs开发一个简单sqlite uuid 扩展
  • 2025学校家具定制厂家/书包柜厂家推荐榜:专业设计与安全品质首选
  • 读技术之外:社会联结中的人工智能04数据
  • 生成式AI与计算教育融合研究
  • 课程作业
  • 国庆七日赛训总结
  • 总资料汇总关联化站点形式的尝试(未完成)
  • 算法第一次作业
  • C++_高阶
  • Kubernetes技术详解-从理论到实践-(5)-控制器-Deployment - 详解
  • 动态张量运算自动优化技术解析