5

我有一个使用Bitbucketnetcoreapp1.0管道构建并dotnet pack.*递增的数字)。

由于 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

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

4

2 回答 2

2

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

在 Bitbucket Pipelines 中读取和设置变量的另一种方法是“环境变量”。

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

于 2016-11-18T14:39:25.403 回答
1

我们现在可以直接调用 $BITBUCKET_BUILD_NUMBER 来获取内部版本号,这是您存储库中每个版本的递增版本号,可作为环境变量使用。

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

于 2017-09-08T01:18:29.933 回答