今週は、手短にまいります。
Javaのアプリケーションの中で、システム環境変数を使っている場合、
そのアプリをJenkins上でデプロイを実行すると、エラーになってしまいました。
ちなみにビルドツールは、gradle です。
> Task :clean > Task :compileJava > Task :processResources > Task :classes > Task :compileTestJava > Task :processTestResources NO-SOURCE > Task :testClasses > Task :test FAILED jp.co.hogehoge.javaApp > testXXXXX FAILED java.lang.NullPointerException at XXXXXTest.java:35 <<< (myProps.put("username", System.getenv("DB_USER"));) 1 test completed, 1 failed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///var/lib/jenkins/workspace/Pipeline%20XXXXXXXXXXX/build/reports/tests/test/index.html * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 19s 5 actionable tasks: 5 executed [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline ERROR: script returned exit code 1 Finished: FAILURE
Jenkins上で、システム環境変数を取得できていないため、当然NPEとなってしまいました。。。
Jenkins上での環境変数の使い方
どうやら、JenkinsのWeb管理画面上で環境変数を追加できるようです。
Jenkinsの管理 → システムの設定 → グローバル プロパティ
この設定追加後に、Jobを実行しましたが、無事に正常にデプロイされました!!!
こうした小さな知識を増やしていって、少しずつでもレベルアップしていけたらと思っています。