目标:每次合并master自动给本次需求打tag,生成tag版本分支。参考.gitlab-ci.yml配置。
- 代码合并入master时自动触发gitlab ci自动化打tag
- tag版本号自动从项目对应的配置文件中获取,自动触发yml配置文件执行:
.gitlab-ci.yml配置项如下:
stages:
- deploy
- neednewtag
# 必须更新版本号,否则无法构建成功
neednewtag:
stage: neednewtag
only:
- master
script:
- echo "neednewtag 已有tag分支,需更改新版本再创建,否则失败"
- git fetch origin
- git pull origin master
- git fetch --tags
- git remote set-url origin https://[yourname]:[yourtoken]@gitlab.**.cn/**/project.git
# - git config --local http.postBuffer 524288000
- git tag -l -n
# - firstTag=`git rev-list --tags --max-count=1`
# - LatestTag=$(git describe --tags ${firstTag:=0})
- getTag=$(grep -n 'version' utils/config.js | awk '{print $3}' | tr -d \"\,)
# - echo -e "新旧tag名对比:${LatestTag} -- ${getTag}"
- devTagName="dev_$getTag"
- git tag ${devTagName}
- git push origin ${devTagName}
- echo -e "新增的版本号...... ${devTagName}"