我定义了Jenkins作业,使用时间戳作为构建名称。我还希望能够在正在构建的代码中使用该构建名称。例如,假设我的应用程序打印了一个" startup"初始化期间的消息理想情况下,我可以以某种方式将构建名称注入此启动消息中
例如:
申请XYZ,建立20160503-0420,正在启动......
我很好奇人们用什么样的技术来做这样的事情。
谢谢!
答案 0 :(得分:0)
好吧,首先在您的代码中直接插入内部版本号,这是非常糟糕的做法。
我们创建Jenkins的debian包。 Debian软件包包含控制文件,包的某种描述,版本,依赖关系等。
在我们的repo控制文件中包含
Section: misc
Priority: optional
Package: #packagename
Version: 0.1.0+#build~#repo
如您所见,我们只修复了主要版本的软件 然后我们创建包,用#替换带有构建变量的文本
sed -i 's/#build/$(BUILD_NUMBER)/' $(FAKEROOT)/DEBIAN/control
sed -i 's/#repo/$(REPONAME)/' $(FAKEROOT)/DEBIAN/control
sed -i 's/#packagename/$(PROJECTNAME)/' $(FAKEROOT)/DEBIAN/control
然后我们发布,部署,发送电子邮件,完成所有Jenkins魔术。 我认为你可以构建二进制文件并将其分发
当然,如果您想将此更改添加到您的存储库中,您可以使用Git publisher或其他源管理系统,但再次告诉您这是不好的做法。
答案 1 :(得分:0)
我们在Jenkins中使用powershell插件,这就是我们编写工作的方式......
Write-Host Build id $ env:BUILD_NUMBER从Get-Date
开始有关更多构建参数,请参阅以下URL