增加Bitbucket管道中的数字

时间:2016-11-07 14:19:25

标签: git asp.net-core .net-core bitbucket-pipelines

我有一个netcoreapp1.0我使用Bitbucket管道构建并与dotnet pack打包,并推送到Octopus部署作为包 MyAssembly.Api.1.0.0-beta - * .nupkg 其中*应该是提交号/内部版本号(或任何其他稳定增加的数字)。

由于GIT中的提交标识符是UUID,我尝试了以下命令(见下文)来获取提交计数,但是生成的提交计数非常不可靠,并且无法按预期工作。在本地我可以正常工作,并且对于我对本地仓库的每次提交,提交计数都会增加。不幸的是,没有一个命令在管道中工作(在Docker容器中运行)。由于某种原因,提交计数有时会保持不变甚至减少。

我在某处读到它与“浅/无哈雷”git repo blabla ...有关,并且可能每次登录(到GIT)都可以解决。如果我可以避免它,我不希望这样做,我觉得有点讽刺的是我需要在Bitbucket中登录GIT。

git shortlog | grep -cE '^[ ]+\w+'
git rev-list HEAD --count
git rev-list --all --count
git rev-list --no-merges --count HEAD
git log --pretty=format:'' | wc -l
git log master --pretty=oneline | wc -l

问:有没有其他方法可以增加值并将其作为管道中的变量进行访问?

2 个答案:

答案 0 :(得分:2)

正如您已经发现的那样,直接从git存储库或历史记录获取增量数字并不容易或者甚至没有意义。

在Bitbucket管道中读取和设置变量的另一种方法是" Environement variables"。

我要解决此问题的方法是设置一个具有所需初始值的环境变量,然后直接在Bitbucket管道中运行的脚本中增加此环境变量中的数字。

答案 1 :(得分:1)

我们可以直接调用$ BITBUCKET_BUILD_NUMBER来获取构建号,这是存储库中每个构建的增量构建号,可用作环境变量。

https://bitbucket.org/site/master/issues/12838/build-number-that-increments-on-every