【问题标题】:maven picking up environment variable set by jenkinsmaven 获取 jenkins 设置的环境变量
【发布时间】:2014-07-30 16:11:20
【问题描述】:

我正在使用以下 maven pom.xml sn-p 从文件 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 是否将从文件中读取的值放入环境中?如果是这样,看起来 Jenkins 已经写完了这个值……

【问题讨论】:

    标签: maven jenkins


    【解决方案1】:

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

    我会说你的&lt;file&gt; 指向一个不存在的文件,所以properties-maven-plugin 不读取任何属性,所以BUILD_NUMBER 没有定义为属性,${BUILD_NUMBER} 回退到@987654326 @,这是你的 Jenkins 环境变量。

    【讨论】:

    • ${project.parent.basedir} 确实评估正确。我已经检查过了。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      相关资源
      最近更新 更多