如何将其从脚本化管道转换为声明性管道
How to convert this to declarative pipeline from scripted pipeline
我在脚本管道中有一段代码,我希望将其转换为声明式管道
rlsSpec = sprintf(
readFile('ara-specs/release-spec-template.json'),
[currentVersion.contains('SNAPSHOT'), currentVersion.replace('-SNAPSHOT','')])
writeFile file: 'release-spec.json', text: rlsSpec
stash includes: '*spec.json', name: 'releaseSpecs'
我可以从脚本中读取和写入文件的readJson和writeJson,但是我无法转换sprintf块,或者我没有太多关于如何转换这块的信息。
我所做的就是读取 json 文件,更改当前版本以替换 -SNAPSHOT 片段并将其写回 json 文件
你能帮我转换这件作品吗?
谢谢
在 sprintf 中,您所做的只是将 json 文件作为文本文件读取并进行字符串替换。同样的事情可以在 Declarative Jenkins Pipeline 中实现为
pipeline {
agent any
stages {
stage ('Print'){
steps {
script {
def inptext = readFile file: "ara-specs/release-spec-template.json"
inptext = inptext.replaceAll("-SNAPSHOT", "")
writeFile file: "release-spec.json", text: inptext
}
}
}
}
}
我在脚本管道中有一段代码,我希望将其转换为声明式管道
rlsSpec = sprintf(
readFile('ara-specs/release-spec-template.json'),
[currentVersion.contains('SNAPSHOT'), currentVersion.replace('-SNAPSHOT','')])
writeFile file: 'release-spec.json', text: rlsSpec
stash includes: '*spec.json', name: 'releaseSpecs'
我可以从脚本中读取和写入文件的readJson和writeJson,但是我无法转换sprintf块,或者我没有太多关于如何转换这块的信息。
我所做的就是读取 json 文件,更改当前版本以替换 -SNAPSHOT 片段并将其写回 json 文件
你能帮我转换这件作品吗?
谢谢
在 sprintf 中,您所做的只是将 json 文件作为文本文件读取并进行字符串替换。同样的事情可以在 Declarative Jenkins Pipeline 中实现为
pipeline {
agent any
stages {
stage ('Print'){
steps {
script {
def inptext = readFile file: "ara-specs/release-spec-template.json"
inptext = inptext.replaceAll("-SNAPSHOT", "")
writeFile file: "release-spec.json", text: inptext
}
}
}
}
}