Цель:
Доступ BOB_USER
И BOB_PASS
из теста JUnit, выполненного через mvn install
в моем конвейере Jenkins.
Что на самом деле происходит:
Если я буду искать их с помощью команд оболочки, я вижу их:
sh 'env | fgrep BOB_`
возвращает:
BOB_USER=****
BOB_PASS=****`
Но в моем модульном тесте для
System.out.println("ENV BOB_USER = "+defaultString(System.getenv("BOB_USER"), "N/A"));
System.out.println("ENV BOB_PASS = "+defaultString(System.getenv("BOB_PASS"), "N/A"));
Я получаю:
BOB_USER = N/A
BOB_PASS = N/A
Код трубопровода:
withCredentials([usernamePassword(credentialsId: 'bob-credentials', usernameVariable: 'bobUser', passwordVariable: 'bobPass')]) {
withSonarQubeEnv('SonarQubeAWS'){
withMaven(jdk: "$JDK_TOOL_VERSION", maven: "$MVN_TOOL_VERSION", mavenSettingsConfig: "$MVN_SETTINGS_CONFIG"){
withEnv(["BOB_USER=${bobUser}", "BOB_PASSWORD=${bobPass}"]) {
sh 'env | fgrep BOB_';
sh "mvn clean install --log-file ${sonarLog} sonar:sonar"
}
}
}//withSonar
}