我有一个通用的python脚本,需要在多个管道作业中使用。 我所做的是创建一个qroovy文件,方法如下。
def create_slaves()
{
def cmd = 'python "-u my_script.py'
def proc = cmd.execute()
proc.waitfor()
}
return this
执行引发了此异常。
Scripts not permitted to use staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods execute java.lang.String
所以我觉得这不是正确的方法。有人知道在管道中执行通用python脚本的合适方法吗?
burnettk's answer在正确的轨道上,但不完整。我不知道直接运行python脚本的官方方法,因此请尝试以下解决方法
将python脚本存储在shared library中,特别是在resources文件夹中。(参考资料/yourscript.py)
然后将文件作为字符串导入并将其写入文件。例如:
使用jenkins shared library并使用其中的
sh
步骤。顺便说一句,也许您的实际用例比您共享的用例看起来更微妙(在这种情况下,当然,使用共享库),但我想我只需要在每个Jenkinsfile中使用
sh
步骤,如下所示,并保持简单:你遇到了詹金斯,他小心翼翼地阻止了你调用的一个方法。你可以通过以下几种方式来克服这个问题:
只需向jenkins.xml添加一个参数即可启用它
你会看到被阻止的方法。点击“批准”,如果我的理解是正确的,就不会再被阻止。
在函数调用的所有方法获得批准之前,您可能需要对此进行多次迭代。
相关问题 更多 >
编程相关推荐