我想在我的Jenkinsfile中爲多分支管道項目使用if語句。爲了這個問題,假設我在當前目錄中有一個名爲'scan.txt'的文本文件。該文本文件與bash命令生成如何在Jenkinsfile中使用jenkins環境變量if語句
echo "False" > scan.txt
所以,唯一的內容是
我在Jenkinsfile設置的任意環境變量scan.txt的像這樣內容的字符串「假」:
script {
env.TEXT = readFile 'scan.txt'
}
如果我做
echo "${env.TEXT}"
腳本塊則jenk外正如預期的那樣,控制檯顯示False。
但是,我所有的檢查它是否等於「False」的嘗試都失敗了。我在腳本塊之後立即嘗試了以下內容:
if (env.TEXT.equals("False")) {
//do something
}
if (env.TEXT.matches("False")) {
//do something
}
if (env.TEXT == "False") {
//do something
}
並且它們都不起作用。所有這些條件都是boolean false。讀文件管道步驟的文檔聲明它返回一個文件內容的字符串 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-readfile-code-read-file-from-workspace 所以我不確定這裏發生了什麼。有沒有人有任何見解?
感謝
這是一個黑客,真正的解決方案已由Jon S. – Pom12