如果我的環境變數之一等于字串,我想將布爾變數設定為 true。如果此RUN_TESTS變數為真,我只想運行我的測驗階段。
pipeline{
environment {
RUN_TESTS = expression { "${env.JOB_BASE_NAME}" == 'Test Pipeline' }
}
stages{
stage('test'){
when {
expression { RUN_TESTS }
}
steps{
// run my tests.......
}
}
}
雖然上面的方法不起作用。
如何根據環境變數的值設定布爾變數,然后我可以使用它來有條件地運行管道階段?
uj5u.com熱心網友回復:
在這種情況下,您似乎不必設定環境變數。您可以直接在您的階段評估運算式:
pipeline{
stages{
stage('test'){
when {
expression { "${env.JOB_BASE_NAME}" == 'Test Pipeline' }
}
steps{
// run my tests.......
}
}
}
另一方面,如果您仍然必須設定環境變數,則有幾種方法可以做到。詹金斯 說:
Environment variable values must either be single quoted, double quoted, or function calls.
- 用雙引號括起來:
environment {
RUN_TESTS = "${env.JOB_BASE_NAME == 'Test Pipeline'}"
}
- 將此運算式包裝在函式呼叫中,如下所示:
def run_tests() {
return "${env.JOB_BASE_NAME}" == 'Test Pipeline'
}
pipeline{
environment {
RUN_TESTS = run_tests()
}
stages{
stage('test'){
when {
expression { RUN_TESTS }
}
steps{
// run my tests.......
}
}
}
但總的來說,我會選擇第一種方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/388728.html
