Hi all,
I am using withCredentials in pretty much every one of my stages and I
would like to know if there is a way to only call it once.
I found a topic [JENKINS-37823] mentionning the wrapper section (now
deprecated in favor of the options directive) but options does not
recognize withCredentials as a valid type.
I also would like to know if the environment directives as any way of
defining environment variables depending on a condition (move the start of
the script inside the environment pipeline directive).
Here is a simplified version of my pipeline script.
```
#!groovy
env.VAR1='value1'
env.VAR2='value2'
if (platform ==~ /.*production-srv.*/) {
env.VAR1='valueA'
env.VAR2='valueB'
}
pipeline {
environment {
// Can't use this
}
parameters {
// some params
}
options {
buildDiscarder(logRotator(numToKeepStr:'10'))
}
agent {
label 'master'
}
stages {
stage('init') {
steps {
// blabla
}
}
stage('Step 2') {
steps {
withCredentials([[$class : 'UsernamePasswordMultiBinding',
credentialsId: id,
usernameVariable: 'USERNAME', passwordVariable:
'PASSWORD']]) {
// Do first work
}
}
}
stage('Step 3') {
withCredentials([[$class : 'UsernamePasswordMultiBinding',
credentialsId: id,
usernameVariable: 'USERNAME', passwordVariable:
'PASSWORD']]) {
// Second part
}
}
}
stage('Step 4') {
withCredentials([[$class : 'UsernamePasswordMultiBinding',
credentialsId: id,
usernameVariable: 'USERNAME', passwordVariable:
'PASSWORD']]) {
// Last part
}
}
}
}
}
```
My script works but I would like it to be more concise and use the pipeline
syntax maximally.
Thank for any help,
Côme
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/47c79ab8-42f4-4074-b8b1-a5f743eefc0d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.