0

バックミンスターを使用して日食製品を構築するジェンキンスの仕事があります。

最初に、「顧客」キーを選択できる「拡張選択パラメーター」があります。

バックミンスター構成では、この「顧客」変数を使用して適切な cquery を選択します。

import '${WORKSPACE}/source/scodi-customer/${customer}/server/features/ch.scodi.${customer}.server.feature/site.cquery'

変数「customer」はデフォルトではコマンドで使用できないため、「JVM 引数」に次を追加しました。

-Dcustomer=${顧客}

これはすべてうまく機能していましたが、現在はサーバーとビルド環境を Java 1.7 32 ビットから Java 1.8 64 ビットに更新しました。それ以来、ビルドしようとすると次のエラーが発生します。

java.io.FileNotFoundException: [ジョブへのパス]\source\scodi-customer\${customer}\server\features\ch.scodi.${customer}.server.feature\site.cquery (システムがパスを見つけられません指定)

変数が正常に解決される前。
${customer} 変数を解決できないのは、バックミンスターまたは Java8 の問題ですか? 変数をバックミンスター構成に渡す別の (よりクリーンな) 方法はありますか?

編集:さらにテストを行い、JVM 引数に以下を追加しました。欠落している ${customer} を参照して同じ例外が発生します。JVM 引数が無視されているように見えます。

-Dcustomer=CUSTOMER

4

1 に答える 1

0

最後に、回避策を見つけました。

「customer」変数の名前を「CUSTOMER」に変更する必要がありましたが、今ではバックミンスター コマンド エリアで解決されています。

から:

import '${WORKSPACE}/source/scodi-customer/${customer}/server/features/ch.scodi.${customer}.server.feature/site.cquery'

に:

import '${WORKSPACE}/source/scodi-customer/${CUSTOMER}/server/features/ch.scodi.${CUSTOMER}.server.feature/site.cquery'

また、次の JVM パラメータ:
-Dcustomer=${customer}
から:
-Dcustomer=${CUSTOMER}

JVM パラメータは、buckminster コマンド インターフェイスには関係なく、後で「cspex」ファイルで使用されることがわかりました。

WindowsマシンでJenkinsを実行すると、この問題が発生する可能性があります...
したがって、実際の問題は、大文字ではない「拡張選択パラメーター」の命名でした。

于 2015-06-30T07:50:29.203 に答える