导出和导入Jenkins管道脚本批准

导出和导入Jenkins管道脚本批准,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我有一组重要的Groovy管道脚本用于Jenkins构建过程。我正在将这些脚本移动到另一个实例上,并希望复制最初未列入白名单的已批准脚本集 是否可以导出已批准签名的列表并将其导入另一个实例 我唯一的另一个解决方案是不断地运行和重新运行脚本,并在破坏构建时批准每个签名。由于脚本非常复杂,并且不是每次运行都能保证达到每一行,所以这不是一个快速的过程 另一个选项是创建一个主“白名单”脚本,该脚本一次又一次地运行所有当前未批准的脚本,直到所有实例都得到批准 这两个选项都不是很好,所以我希望通过一个简单的

我有一组重要的Groovy管道脚本用于Jenkins构建过程。我正在将这些脚本移动到另一个实例上,并希望复制最初未列入白名单的已批准脚本集

是否可以导出已批准签名的列表并将其导入另一个实例

我唯一的另一个解决方案是不断地运行和重新运行脚本,并在破坏构建时批准每个签名。由于脚本非常复杂,并且不是每次运行都能保证达到每一行,所以这不是一个快速的过程

另一个选项是创建一个主“白名单”脚本,该脚本一次又一次地运行所有当前未批准的脚本,直到所有实例都得到批准

这两个选项都不是很好,所以我希望通过一个简单的导入/导出来避免完全执行这项工作,但我肯定看不到UI中有可用的选项


干杯

我不相信默认情况下有导入/导出功能,但也许有一个插件可以做到这一点

如果您有权访问Jenkins's安装或运行的目录,您应该能够找到
scriptApproval.xml
文件

如果您仔细研究,您会发现
approvedscripthash
approvedSignatures
等。您可以完全提升此文件,并将其粘贴到新实例中,或者复制所需的细节(无论哪种方式,您都需要重新启动)


看起来这类功能有一个开放的请求

感谢您提供的信息,我会看看我是否可以暂时使用该文件。有趣的是,在我将“approvedSignatures”xml元素从一台服务器复制/粘贴到另一台服务器后,“In-process Script approval”的目标服务器(Jenkins v2.121.3)UI没有改变!我希望看到签名出现在“签名已批准:”文本区域中,但即使在我重新启动服务器后,这种情况也没有发生。我仍然不确定是否允许粘贴的签名(直到我遇到阻止的签名)更新我之前的不确定性:在运行使用粘贴的已批准签名的作业后,UI会更新为已批准的签名。因此,复制和粘贴已批准的签名似乎有效@Moutsatsos我没有意识到,批准的屏幕只会在运行相关脚本时更新-感谢提供信息。