加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang应用程序自动构建版本

发布时间:2020-12-16 18:12:28 所属栏目:大数据 来源:网络整理
导读:每次编译Go应用程序时,是否可以自动递增次要版本号? 我想在我的程序中设置一个版本号,带有一个自动增量部分: $ myapp -versionMyApp version 0.5.132 为0.5,我设置的版本号,和132每当二进制编译时自动递增的值。 这是可能在Go吗? Go链接器( go tool l
每次编译Go应用程序时,是否可以自动递增次要版本号?

我想在我的程序中设置一个版本号,带有一个自动增量部分:

$ myapp -version
MyApp version 0.5.132

为0.5,我设置的版本号,和132每当二进制编译时自动递增的值。

这是可能在Go吗?

Go链接器( go tool link)具有设置未初始化的字符串变量的值的选项:
-X importpath.name=value
    Set the value of the string variable in importpath named name to value.
    Note that before Go 1.5 this option took two separate arguments.
    Now it takes one argument split on the first = sign.

作为构建过程的一部分,您可以使用this设置一个版本字符串变量。你可以通过go工具使用-ldflags传递。例如,给定以下源文件:

package main

import "fmt"

var xyz string

func main() {
    fmt.Println(xyz)
}

然后:

$ go run -ldflags "-X main.xyz=abc" main.go
abc

为了将main.minversion设置为构建日期和时间,建立时:

go build -ldflags "-X main.minversion=`date -u +.%Y%m%d.%H%M%S`" service.go

如果编译时没有以这种方式初始化main.minversion,它将包含空字符串。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读