2016-11-07 59 views
5

我有一個netcoreapp1.0,我用建管道到位桶與dotnet pack包,並推到章魚部署爲包MyAssembly.Api.1.0.0-β - * nupkg其中*是應該是一個提交編號/內部版本號(或任何其他穩定遞增編號)。增量到位桶管道一批

由於GIT中的提交標識符是UUID,因此我嘗試了下列命令(請參見下文)以獲取提交計數,但生成的提交計數非常不可靠,並且不能按預期工作。在本地我得到它工作得很好,提交計數增加了我對本地回購的每一個提交。不幸的是,沒有任何命令在管道中運行(在Docker容器中運行)。由於某些原因,提交計數有時保持不變甚至減少。

我讀的地方,它與「淺/ unshallow」混帳回購布拉布拉 ...,並且它可以通過在(到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

正如你已經發現它並不那麼容易或甚至沒有意味着直接從git存儲庫或歷史記錄獲得增量編號。

在Bitbucket管道中讀取和設置變量的另一種方法是「Environement variables」。

我會做什麼來解決這個問題是要設置環境變量與所需的初始值,然後遞增直接運行在到位桶管道腳本在這個環境變量的數量。

+0

「然後增加直接運行在到位桶管道腳本在這個環境變量的數字」 - 你可以在如何做到這一點做詳細點嗎?據我瞭解,我沒有對環境變量的寫權限? – Marcus

+2

可以使用bitbucket API更新存儲庫級自定義變量https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/pipelines_config/variables/% 7Bvariable_uuid%7D。我正在研究一種方法來使用它來更新計數器 –