1
我在這裏有兩個關於Jenkins管道和groovy方法的問題。首先,我有多個構建共享通用方法,所以最好將所有這些方法放在一個類中,然後爲每個構建導入文件。在Jenkins管道中使用外部groovy文件
一個從我的Groovy腳本片段看起來像
import groovy.json.JsonSlurperClassic;
import groovy.json.JsonSlurper;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.HashSet;
import java.util.Set;
import java.io.Serializable;
Map get_var() {
def gradleVars = readFile "${env.WORKSPACE}/gradle-client/gradle.properties"
Properties properties = new Properties();
InputStream is = new ByteArrayInputStream(gradleVars.getBytes());
properties.load(is)
def sdk_version = "SDKVersion"
def SDK_VERSION = properties."$sdk_version"
return [sdk_version: "$SDK_VERSION"}
}
在我管線腳本我有
def groovyMethod = load("release_pipeline.groovy")
// Call method
groovyMethod.getVar()
的第一個問題我已經是我如何使用${env.WORKSPACE}
我的方法中,其次如何是否在腳本中使用readFile
,因爲我得到錯誤
hudson.remot ing.ProxyException:groovy.lang.MissingMethodException:法無簽名:Helpers.readFile()
真正的新Groovy和Java,所以任何指針讚賞
感謝
唉唉我剛剛意識到我用方法名稱所做的一切......愚蠢的錯誤 – Richlewis
欣賞它是否被接受爲可接受的答案。 – Rao
你知道如何訪問系統變量,因爲它似乎不承認'getenv' – Richlewis