在我们的Jenkins环境中,我们仍然有一些旧的自由式工作,我们不想改变为管道。其中一个使用系统groovy脚本。本周我们决定将Jenkins版本升级到2.46(也是更新的插件,例如安全性),突然间系统groovy脚本不再起作用了
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>uTalk Demo</title>
<link rel='stylesheet' type='text/css' href='game.css' media='screen'></style>
</head>
<body>
<canvas id="game" width = "750" height = "500"></canvas>
</body>
</html>
对于管道,我可以去“管理Jenkins”并批准脚本,但通常我会批准整个脚本或将某些方法签名列入白名单。但我从来没有批准过对象的使用。脚本批准页面也没有任何待处理。
我可以以某种方式将此添加到批准列表中或者只是忽略它吗?也许以某种方式直接修改scriptApproval.xml?
如果相关,script-security插件的版本为1.27。
答案 0 :(得分:1)
我多次遇到这种情况,并手动将签名添加到scriptApproval.xml
。
将new java.util.LinkedHashMap
添加到approvedSignatures:
<approvedSignatures>
<string>new java.util.LinkedHashMap</string>
</approvedSignatures>
我不知道为什么会这样,我认为这是一个错误。
答案 1 :(得分:0)
虽然已经给出的答案是正确的,但总是直接更改xml文件真的很烦人。在第二次修复仍然失败后,我尝试了其他的东西。我没有从GIT加载文件,而是将系统groovy代码直接放入作业并自行加载文件:
evaluate(new File("path/to/file"))