我一直在使用Bluemix的构建和部署阶段来跟踪构建。Bluemix在部署阶段检索内部版本号
足够简单的问题,我如何获得发送到构建阶段的构建的构建版本号&在IBM Bluemix中部署?
我一直在使用$ BUILD_NUMBER试图详细here但这不是正确,我在部署阶段内工作
我会告诉你发生了什么事..
构建阶段
在构建阶段中,我修改我的Maven项目的POM文件以设置版本以匹配构建版本。
echo 'Changing POM Version'
mvn --batch-mode release:update-versions -DdevelopmentVersion=0.0.${BUILD_NUMBER}-SNAPSHOT
我知道这工作,因为我用这个后来也标记我的git仓库和两个POM和标签显示正确的版本号
这也意味着,所产生的从构建阶段罐子StudyPlanner-0.0.41-SNAPSHOT.jar
部署阶段
当检索部署阶段的jar文件时,尝试使用相同的BUILD_NUMBER时会出现此问题。
cf push "${CF_APP}" -p StudyPlanner-0.0.${BUILD_NUMBER}-SNAPSHOT.jar -b java_buildpack
的阶段失败,我收到以下错误:
FAILED
Error uploading application.
lstat /home/pipeline/40d5622e-05a8-4d9f-a6ca-f8879bf48435/StudyPlanner-0.0.28-SNAPSHOT.jar: no such file or directory
正如你所看到的,在部署阶段试图检索0.0。 ,而不是0.0。因为它应该在这种情况下。
为什么这个$ BUILD_NUMBER是捡了一个老字号,或更好的方法来实现任何指导意见在部署阶段获得数字将非常感激。
很多谢谢,
斯科特。
--------------------- UPDATE ---------------------
我试图运行此多做几次,看看我能找到的任何模式ECT,发现了以下工作:
在构建阶段,$ BUILD_NUMBER属性引用次数的构建舞台已经跑了。
在部署阶段,$ BUILD_NUMBER属性引用次数的部署阶段已经跑了号码。
虽然名称$ BUILD_NUMBER看起来有些误导,但在重新阅读Bluemix Environment Variables文档时,它声明此ID是递增的,而不是构建的数量。
The incremental stage ID that is shown in the pipeline UI.
有了这个既然如此,我现在明白为什么$ BUILD_NUMBER是给我的“错误”的结果,但我还是不知道怎样才能实现部署阶段中获取的内部版本号。
有没有办法在一个阶段内设置变量或属性来访问下一个?
詹金斯再次拯救!非常感激。 –