jenkins - 如何以编程方式批准 Jenkins System Groovy 脚本
问题描述
Jenkins Job DSL 在 1.6 中引入了 Script Security,这给一些构建带来了以下错误:
ERROR: Build step failed with exception
org.jenkinsci.plugins.scriptsecurity.scripts.UnapprovedUsageException: script not yet approved for use
我们完全通过使用 plugins.txt 和一组 Groovy 脚本来配置 Jenkins 来运行 Jenkins master,并且不允许通过 UI 进行任何配置,因此我们也禁用了以管理员身份登录的能力。
我们如何通过 Jenkins groovy 配置以编程方式预先批准脚本?
解决方案
下面是在 jenkins 上使用 groovy 批准两种方法。
def scriptApproval = org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval.get()
String[] signs = [
"method org.jenkinsci.plugins.workflow.steps.FlowInterruptedException getCauses",
"method org.jenkinsci.plugins.workflow.support.steps.input.Rejection getUser"
]
for( String sign : signs ) {
scriptApproval.approveSignature(sign)
}
scriptApproval.save()
推荐阅读
- javascript - 是否可以将 useEffect 放在 if 语句中?
- oop - 您如何重构应用程序中的入口点类?
- python - Discord.py 在多台服务器上播放本地文件
- c# - 如何关闭 .NET Core 日志记录到 AWS CloudWatch 中的日志级别和类别输出?
- php - 未捕获的错误:调用成员函数 get_shipping_packages()
- php - 为我的 Laravel 模型添加静态方法或使特征动态
- r - 使用 match.call() 更新 glm
- ios - SwiftUI:ViewModifier 与其支持的视图不同步
- apache-flink - 无法访问 aws eks 中的变异 webhook
- json - 在 ini 格式的文件中指定配置:C:\Users\NILOY\.npmrc