2016-02-12 58 views
0

我一直在使用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和标签显示正确的版本号

enter image description here

这也意味着,所产生的从构建阶段罐子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。因为它应该在这种情况下。

证明它是建立41这是在这里的舞台被发送是截图:enter image description here

为什么这个$ 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是给我的“错误”的结果,但我还是不知道怎样才能实现部署阶段中获取的内部版本号。

有没有办法在一个阶段内设置变量或属性来访问下一个?

回答

1

您可以找到可用环境变量列表here。 $ BUILD_NUMBER有点令人困惑,它对应于当前正在运行的作业的编号。如果您想要用作输入的构建编号,则应使用$ IDS_VERSION。它不在上面提到的文档中,但它会是你想要的数字。我将提交更新文档的请求。

+0

詹金斯再次拯救!非常感激。 –