我試圖理解爲什麼我運行我的bitbucket-pipelines.yml文件時,我得到了兩個與git標籤不同的結果。目前我的項目的標籤從1.0.0 - 1.0.25
運行。 .yml文件看起來像這樣...Git/Bitbucket流水線 - 根據我推送的分支,標籤顯示的不同會是什麼?
pipelines:
branches:
diff-test:
- step:
script:
- export PREVIOUS_GIT_HASH=`git rev-list --tags --skip=2 --max-count=1`
- export PREVIOUS_GIT_TAG=`git describe ${PREVIOUS_GIT_HASH} --abbrev=0`
- export GIT_TAG=`git describe --tags --abbrev=0`
- echo ${PREVIOUS_GIT_TAG} ${GIT_TAG}
# A develop step/script happens here but it's irrelevant...
master:
- step:
script:
# set the most recent tag as an environment variable.
- export GIT_TAG=`git describe --tags --abbrev=0`
- zip -FSr ${BITBUCKET_REPO_SLUG}-${GIT_TAG}.zip ./ [email protected]
- curl -u ${BB_AUTH_STRING} -X POST "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form [email protected]"${BITBUCKET_REPO_SLUG}-${GIT_TAG}.zip"
當我推到master時,附加到下載工件的標籤是正確的(1.0.25)。但是,當我推送到diff-test
時,回顯出的標籤是1.0.14
和1.0.15
。
在git文檔中,它代表describe
,它表示--tags: Instead of using only the annotated tags, use any tag found in refs/tags namespace. This option enables matching a lightweight (non-annotated) tag.
。
我的問題是 - 是什麼導致標籤出現不同取決於我推到哪個分支?
謝謝。好的 - 這意味着它實際上表現得「正確」,只是不符合我的預期。所以,如果我理解這個權利,如果我將相同的技術應用到主分支,它將返回'1.0.24 1.0.25',因爲那些分支是相對的。 – aberkow