maven拾取由jenkins设置的环境变量

时间:2014-07-30 16:11:20

标签: maven jenkins

我正在使用以下maven pom.xml片段从文件jenkins / version.properties中读取名为BUILD_NUMBER的属性。

      <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <executions>
                 <execution>
                     <phase>initialize</phase>
                     <goals>
                         <goal>read-project-properties</goal>
                     </goals>
                     <configuration>
                         <files>
                             <file>${project.parent.basedir}/jenkins/version.properties</file>
                         </files>
                     </configuration>
                 </execution>
             </executions>
        </plugin>

Jenkins还有一个名为$ BUILD_NUMBER的环境变量。我有孩子pom.xmls尝试使用$ BUILD_NUMBER,并且它继续为$ BUILD_NUMBER获取Jenkins环境变量值,而不是jenkins / version.properties中的那个。我只是想知道maven是否将从文件中读取的值放入环境中?如果是这样的话,看起来詹金斯似乎过度写了这个值......

2 个答案:

答案 0 :(得分:1)

是什么让你认为${project.parent.basedir}评估任何有用的东西?

我说你的<file>指向一个不存在的文件,因此properties-maven-plugin没有读取任何属性,因此BUILD_NUMBER未定义为属性,${BUILD_NUMBER} 1}}回退到${env.BUILD_NUMBER},这是你的Jenkins环境变量。

答案 1 :(得分:1)

我将BUILD_NUMBER变量更改为其他名称,以便它不会与Jenkins $ BUILD_NUMBER环境变量冲突。这似乎解决了这个问题。感谢您的帮助 - 让我走上正轨。