2011-09-20 12 views
2

Jenkinsは、ジョブがMaven 2/3プロジェクトの場合や、フリースタイルのプロジェクトの場合に環境変数を管理しているようです。フリースタイルのプロジェクトでJenkinsが環境変数でMavenリソースをフィルタリングしない

私のテストを教えてあげてください。

それはmyfile.xmlsrc/main/resourcesに、含まれています(デフォルトMaven原型によって例えば生成された)単純なJava 1.6プロジェクトは、次のようになっているプロジェクト

:私のpom.xml

<foo> 
    <bar>${project.version}</bar> 
    <bar>${foo.bar}</bar> 
</foo> 

、私はMavenにこのディレクトリをフィルタリングするよう依頼します:

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

今、Windows環境としてfoo.barプロパティを定義します(42に相当)。ジェンキンス管理ページでシステム情報

、私は環境変数セクションで、この変数を参照してください。

テスト

1私はジェンキンスの新しい "Mavenの2/3プロジェクト" を作成し、基本構成を設定:JavaとMav​​enのバージョンは、Mavenのゴール(clean package)。 私はこの仕事を実行し、そして最後に、私は次のようmyfile.xml取得:この場合

<foo> 
    <bar>1.0-SNAPSHOT</bar> 
    <bar>42</bar> 
</foo> 

を、両方の変数がMavenので濾過しました。

テスト2

私はジェンキンスに新しい「フリースタイル・ソフトウェア・プロジェクト」を作成し、1つのビルドステップ、トップレベルのMavenのターゲットを追加することにより、テスト1と同一の構成を設定します。 同じMavenコマンドが使用されます。つまり、clean packageです。ビルドが完了すると、myfile.xmlは次のようになります。ビルドはフリースタイルプロジェクトに基づいている場合

<foo> 
    <bar>1.0-SNAPSHOT</bar> 
    <bar>${foo.bar}</bar> 
</foo> 

だから、明らかに、環境変数foo.barは考慮されていません。

私の質問:このような動作が必要な理由はありますか?それともジェンキンスのバグですか? (Windows 2003のサーバーにインストールされている)


ジェンキンスv1.430、Mavenの2.0.9やMaven 2.2.1(同じ動作)、Javaの1.6

答えて

0

私は同じことを経験しています。

私の問題を回避するには、Mavenのは、私がためにMavenのバグのこの思いfoo.bar=42

0

のように提供テキストフィールドに自分の性質をステップを構築し、定義するために、「高度」をクリックして、プロジェクトのconfigureページに移動したとジェンキンスの問題ではありません。

Maven 3.0.3を使用しているときに(Jenkinsのジョブ設定に関係なく)同じ問題に直面しました。 Maven 3.0.4にアップグレードした後、問題は解決されました。

関連する問題