1

Jenkins CI を使用して、execute shellビルド ステップから Java を実行しています。

java -jar -Dadmin.hostname=$hostname -Dschema_name=$schema myapp.jar

hostnameパラメータとパラメータの両方schemaが適切に定義されており、実行時に空の値を持っていないことに気付きましたが、Jenkins は次のように解析します。

java -jar -Dadmin.hostname= -Dschema_name=MYDB myapp.jar

つまり、admin.hostname値は解析されません。

.問題を追跡したところ、パラメーター名で使用しないと、すべてが正常に解析されることに気付きました。

これが Java コマンド ラインの制限なのか、Jenkins のバグなのか疑問に思っています。(RHEL64を使用しています)

ありがとう

編集:これは、他のビルドでの使用が正常に機能するように、パラメーター化されたビルド jenkins プラグインのバグだと思います.

4

1 に答える 1

3

おそらく問題は、UNIX の環境変数で大文字と小文字が区別されることです。

$ echo $hostname

$ echo $HOSTNAME
myhostname

.組み込みのプロパティがそれらを使用する可能性があるため、使用に問題はないはずです。

ところで: プロパティが空白に設定されているからといって、設定されていないわけではありません。

System.out.println("not.set=" + System.getProperty("not.set"));
System.out.println("admin.hostname='" + System.getProperty("admin.hostname")+"'");

-Dadmin.hostname=プリントで実行する場合

not.set=null
admin.hostname=''
于 2012-04-16T09:15:51.977 に答える