如何最好地进行 bitbucket 管道自动版本控制?
How best to do bitbucket pipeline automatic versioning?
这几天在工作中,有人问我是否可以进行自动化管道版本控制。
经过研究,我发现了一些使用日期版本控制的示例,例如:2021.21.09.153507
执行版本控制的 sh:
git pull --rebase origin dev
npm install -g json
year=$(date +'%Y')
month=$(date +'%m')
day=$(date +'%d')
hours=$(date +'%H')$(date +'%M')$(date +'%S')
newVersion="$year.$month.$day.$hours"
json -I -f package.json -e "this.version=\"$newVersion\""
git add package.json
git commit -m "[skip ci]"
git push origin dev
这个解决方案一切顺利,但我们总是使用语义如下的版本控制手册:1.0.0
是否可以识别哪个分支正在合并,从而根据提交中的某些标记创造条件来增加版本?
查看 this doc。
Bitbucket Pipelines 提供一组可用于构建的默认变量,并可在脚本中使用。值包括 BITBUCKET_BRANCH
(源分支)、BITBUCKET_PR_DESTINATION_BRANCH
(拉取请求目标分支)、
BITBUCKET_TAG
、BITBUCKET_COMMIT
和许多其他人。
此外,根据我自己的经验,我可以看出 link 提供的列表并不详尽 - 还有更多潜在的有趣变量可用于您的构建,但由于某种原因未记录在案。 运行 printenv
您管道中的某处会完整显示它们。
这几天在工作中,有人问我是否可以进行自动化管道版本控制。
经过研究,我发现了一些使用日期版本控制的示例,例如:2021.21.09.153507
执行版本控制的 sh:
git pull --rebase origin dev
npm install -g json
year=$(date +'%Y')
month=$(date +'%m')
day=$(date +'%d')
hours=$(date +'%H')$(date +'%M')$(date +'%S')
newVersion="$year.$month.$day.$hours"
json -I -f package.json -e "this.version=\"$newVersion\""
git add package.json
git commit -m "[skip ci]"
git push origin dev
这个解决方案一切顺利,但我们总是使用语义如下的版本控制手册:1.0.0
是否可以识别哪个分支正在合并,从而根据提交中的某些标记创造条件来增加版本?
查看 this doc。
Bitbucket Pipelines 提供一组可用于构建的默认变量,并可在脚本中使用。值包括 BITBUCKET_BRANCH
(源分支)、BITBUCKET_PR_DESTINATION_BRANCH
(拉取请求目标分支)、
BITBUCKET_TAG
、BITBUCKET_COMMIT
和许多其他人。
此外,根据我自己的经验,我可以看出 link 提供的列表并不详尽 - 还有更多潜在的有趣变量可用于您的构建,但由于某种原因未记录在案。 运行 printenv
您管道中的某处会完整显示它们。