Je suis en train de mettre dans mon pipeline Jenkins une variable d'environnement avec le nom de « TEST_CONFIG_ROOT », je fais référence à des exemples ici:incapable de définir la variable d'environnement dans jenkinsfile
https://jenkins.io/doc/book/pipeline/jenkinsfile/#working-with-the-environment
Mais, quand j'exécute mon test, il apparaît que la variable d'environnement n'est pas définie, car mon test se plaint encore qu'il n'a pas obtenu la valeur de la variable "TEST_CONFIG_ROOT" qu'il était censé recevoir d'env.
S'il vous plaît voir mon jenkinsFile ci-dessous:
node('node1'){
def buildInput;
echo 'Deploying my build'
if(!params.buildName) {
buildInput = input(
id: 'userInput', message: 'What is the build name?', parameters: [
[$class: 'StringParameterDefinition', defaultValue: 'abcd-1', description: 'Environment', name: 'buildName']
])
}
buildToUse = params.buildName ? params.buildName : buildInput;
echo ("Env: "+buildToUse);
if ("${params.buildParam}" == 'prequal' || !params.buildParam){
stage('Prequal') {
}
}
node('nodename'){
if ("${params.buildParam}" == 'test' || !params.buildParam){
withMaven(
maven: 'M2Slave',
mavenSettingsConfig: 'MavenSettingsXML',
mavenLocalRepo: '${HOME}/.m2/repository') {
stage('Test') {
echo 'Testing my build'
echo " my work space is ${env.WORKSPACE}"
checkout scm
environment {
TEST_CONFIG_ROOT = '${env.WORKSPACE}/testsE2e/src/main/resources'
}
dir ('testsE2e'){
sh 'mvn clean verify surefire-report:report surefire-report:failsafe-report-only -Dtestngxml=testng.xml -Dhttp.proxyHost=proxy02.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy02.com -Dhttps.proxyPort=8080 -Djavax.xml.accessExternalSchema=all'
}
}
}
}
}
}
J'ai aussi essayé d'exécuter la commande d'exportation à l'aide du script shell comme ci-dessous, mais ce n'est pas non plus aider.
echo " my work space is ${env.WORKSPACE}"
sh 'export TEST_CONFIG_ROOT="${WORKSPACE}/testsE2e/src/main/resources"'
Trouvez ci-dessous extrait de journal lorsque le travail de pipeline est exécuté:
[Pipeline] echo
my work space is /usr/home/nodename/Jenkins/workspace/workspace/someName-RCZ4A4MA3GRP4PSVYT4HTVVIKU4J7TW2667CKTZU22CHR2CBEM5Q
[Pipeline] dir
Running in /usr/home/nodename/Jenkins/workspace/workspace/someName-RCZ4A4MA3GRP4PSVYT4HTVVIKU4J7TW2667CKTZU22CHR2CBEM5Q/testsE2e
[Pipeline] {
[Pipeline] sh
[testsE2e] Running shell script
+ mvn clean verify surefire-report:report surefire-report:failsafe-report-only -Dtestngxml=testng.xml -Dhttp.proxyHost=proxy02.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy02.com -Dhttps.proxyPort=8080 -Djavax.xml.accessExternalSchema=all
----- withMaven Wrapper script -----
Picked up JAVA_TOOL_OPTIONS: -Dmaven.ext.class.path="/usr/home/nodename/Jenkins/workspace/workspace/[email protected]p/withMaven00e87287/pipeline-maven-spy.jar" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="/usr/home/nodename/Jenkins/workspace/workspace/[email protected]p/withMaven00e87287"
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: /opt/maven/apache-maven-3.3.9
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /opt/oracle/jdk1.8.0_111/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-573.7.1.el6.x86_64", arch: "amd64", family: "unix"
[jenkins-maven-event-spy] INFO generate /usr/home/nodename/Jenkins/workspace/workspace/[email protected]p/withMaven00e87287/maven-spy-20170924-225639-49.log ...
[INFO] Scanning for projects...
Bienvenue dans StackOverflow, cher Mr. stackoverlfow. Veuillez reformater votre exemple de code pour une meilleure lisibilité. – StephenKing