2017-07-06 99 views
1

属性值我有一个Jenkinsfile中,我需要从我的.csproj文件中的属性从XML文件获取Jenkinsfile

我曾经尝试这样做(dotnet的核心项目):

def versionPrefix = sh(script: 'cat ./src/project.csproj | grep (?<=<VersionPrefix>).*(?=</VersionPrefix>)')

我知道我可能很遥远,所以我不一定要找到接近此的东西,但我正在寻找一个不需要插件(最好)的解决方案。

回答

0

解决方案,而管道

首先安装Environment Script Plugin

然后作为图像波纹管

enter image description here

Enviroment Script Plugin

配置在图像我从一开始的版本build.xml文件文件中,egrep中的“-o”参数(也适用于grep)是仅返回我想要的部分而不是整个行,其余部分是纯正则表达式以匹配数字版本。 (点),像

1.3.13

与管道解决方案

只需调整grep命令YOUT需要的

def versionPrefix = sh(script: 'grep -o (?<=<VersionPrefix>).*(?=</VersionPrefix>) ./src/project.csproj') 
形象
2

看看Groovy库,名为"XmlSlurper",它可能对你很有帮助。

这是不允许在詹金斯管道,但that issue已经解决了一段时间!有人试图做类似的事情here

希望这会有所帮助!