Based on pipeline form parameter value, I want to decide whether to run pipeline on VM or docker container hence need to select agent
section in pipeline accordingly. In order to achieve that tried following -
pipeline {
if(env.mode.equals("docker")) {
agent {
docker {
label 'xxx.xxx.xxx.xxx'
image imagename
args '--cap-add SYS_ADMIN --cap-add DAC_READ_SEARCH -v $HOME/.m2:/usr/share/.m2 --user root --memory=9g ...
}
}
}
if(env.mode.equals("vm")) {
agent {
label {
label 'xxx.xxx.xxx.xx'
customWorkspace "<workspace-path>"
}
}
}
stages {
...
}
}
But this fails. Is there any way this can be achieved with Jenkins pipeline?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…