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