1
我想在幾個shell命令中使用Jenkinsfile
中的已定義參數,但我得到一個異常。在我的例子中,我想執行一個簡單的docker命令。該參數定義了docker可執行文件的路徑。在Jenkins文件中使用shell命令對Jenkins管道使用參數
這是我非常短Jenkinsfile
:
pipeline {
agent any
parameters {
string(defaultValue: '/Applications/Docker.app/Contents/Resources/bin/docker', description: '', name: 'docker')
}
stages {
stage('Test') {
steps {
sh 'sudo ${params.docker} ps -a'
}
}
}
}
而且我得到以下異常:
[e2e-web-tests_master-U4G4QJHPUACAEACYSISPVBCMQBR2LS5EZRVEKG47I2XHRI54NCCQ] Running shell script
/Users/Shared/Jenkins/Home/workspace/e2e-web-te[email protected]tmp/durable-e394f175/script.sh: line 2: ${params.docker}: bad substitution
當我改變Jenkinsfile
不使用shell命令裏面的放慢參數它成功通過:
pipeline {
agent any
parameters {
string(defaultValue: '/Applications/Docker.app/Contents/Resources/bin/docker', description: '', name: 'docker')
}
stages {
stage('Test') {
steps {
sh 'sudo /Applications/Docker.app/Contents/Resources/bin/docker ps -a'
}
}
}
}
那麼,我該如何使用p在Jenkinsfile中的shell命令內參數?我試過string
和text
作爲參數類型。