Shell 用于从 artifactory 读取最新版本的脚本
Shell script to read latest version from artifactory
在我的 artifactory 中有一个文件 "maven-metadata.xml",其中包含所有版本。我想从这个文件中获取最新版本。但问题是我想选择一个稳定的版本。
例如在这个 maven-metadata.xml 文件中:
<metadata>
<groupId>com.platform</groupId>
<artifactId>abc1.2</artifactId>
<versioning>
<latest>2.6.0-425-75b5083</latest>
<release>2.6.0-425-75b5083</release>
<versions>
<version>2.5.0-132-b616a37</version>
<version>2.5.1-RC1</version>
<version>2.5.2</version>
<version>2.6.0-425-75b5083</version>
</versions>
<lastUpdated>20201011113748</lastUpdated>
</versioning>
</metadata>
但我想获取最新的稳定版本(没有字母数字)即 2.5.2
如何在 shell 脚本中过滤此数据?
我也无法直接读取 <latest>
标签,因为它可能包含字母数字版本。
假设版本是按升序排列的,您可以使用以下命令提取最新版本,不带字母数字。
sed -n 's/.*<version>\([0-9.]*\)<\/version>.*//p' maven-metadata.xml | tail -n 1
在我的 artifactory 中有一个文件 "maven-metadata.xml",其中包含所有版本。我想从这个文件中获取最新版本。但问题是我想选择一个稳定的版本。 例如在这个 maven-metadata.xml 文件中:
<metadata>
<groupId>com.platform</groupId>
<artifactId>abc1.2</artifactId>
<versioning>
<latest>2.6.0-425-75b5083</latest>
<release>2.6.0-425-75b5083</release>
<versions>
<version>2.5.0-132-b616a37</version>
<version>2.5.1-RC1</version>
<version>2.5.2</version>
<version>2.6.0-425-75b5083</version>
</versions>
<lastUpdated>20201011113748</lastUpdated>
</versioning>
</metadata>
但我想获取最新的稳定版本(没有字母数字)即 2.5.2 如何在 shell 脚本中过滤此数据?
我也无法直接读取 <latest>
标签,因为它可能包含字母数字版本。
假设版本是按升序排列的,您可以使用以下命令提取最新版本,不带字母数字。
sed -n 's/.*<version>\([0-9.]*\)<\/version>.*//p' maven-metadata.xml | tail -n 1