从Artifactory的metadata.xml获取匹配分支的最新版本
GitLab CI/CD中解析Artifactory metadata.xml获取匹配分支的最新版本
实现步骤(Shell命令)
以下命令可直接集成到GitLab CI/CD的.gitlab-ci.yml脚本中:
- 提取分支对应的版本前缀
从release/3.1.2分支名中提取出3.1.2作为匹配前缀:
BRANCH_PREFIX=$(echo "$CI_COMMIT_BRANCH" | sed 's/^release\///')
- 下载Artifactory上的metadata.xml文件
替换为你的Artifactory仓库中metadata.xml的实际URL:
curl -s "https://your-artifactory-domain/repo/path/metadata.xml" -o metadata.xml
- 筛选匹配前缀的版本并获取最新版
通过文本处理命令提取、筛选、排序版本号,最终得到最新版本:
# 提取所有以目标前缀开头的版本号,去除XML标签后按版本号自然排序,取最后一行(最新版) LATEST_VERSION=$(grep "<version>$BRANCH_PREFIX\." metadata.xml | sed 's/<version>\(.*\)<\/version>/\1/' | sort -V | tail -n 1) # 输出结果(可用于后续流水线步骤) echo "$LATEST_VERSION"
关键说明
grep "<version>$BRANCH_PREFIX\.":精准匹配以3.1.2.开头的版本条目,避免误匹配类似3.1.20.x的版本sort -V:采用GNU sort的版本号自然排序规则,确保3.1.2.508排在3.1.2.507之后- 若你的GitLab Runner镜像未预装GNU工具,需先安装(如
apt-get install -y coreutils)
内容的提问来源于stack exchange,提问作者Sri
相关产品推荐
相关产品推荐

