如何解决詹金斯:有没有办法将文件作为詹金斯构建参数加载?
我目前有一个包含文本文件的 git 存储库。我想将其内容加载为 jenkins 作业的构建参数。 一种方法是在 Jenkins 多行字符串参数中手动复制此文件的内容。但是,由于内容已经在 git 中,我想保持耦合。
不确定,是否可以使用 Jenkins? 我正在使用 Jenkins Job DSL 来生成作业。
解决方法
EDIT :您可以在以下答案 Jenkins dynamic declarative pipeline parameters
中找到几种不同的实现方式我认为您可以通过以下方式实现它(脚本化管道)。
node {
stage("read file") {
sh('echo -n "some text" > afile.txt')
def fileContent = readFile('afile.txt')
properties([
parameters([
string(name: 'FILE_CONTENT',defaultValue: fileContent)
])
])
}
stage("Display properties") {
echo("${params.FILE_CONTENT}")
}
}
第一次执行时没有参数选择。第二次,您可以选择使用参数构建,内容将是您文件的内容。
这种方法的坏处是它总是与之前的执行同步,即当您在更改文件内容的提交上开始构建时,它将使用文件内容预填充参数为每次构建的最后一次执行。
我所知道的唯一方法是将您的管道拆分为两个管道。第一个读取文件的内容,然后使用 build
步骤将文件内容作为构建参数触发第二个。
如果您找到更好的方法,请告诉我们。
,为什么不让 jenkins 将 repo 作为 Job 的一部分提取,然后解析参数的内容(比如 json,例如来自 repo 中的文件),然后继续使用这些参数执行?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。