我想运行一个python脚本作为从github repo触发的jenkins pipline的一部分。如果我直接将脚本存储在repo本身中,我可以只做sh 'python path/to/my_package/script.py'
这项工作非常完美。但是,由于我想从多个repo的多个管道中使用它,所以我想把它放在jenkins共享库中。在
我找到了this question,它建议将python文件存储在resources
目录中,并在使用之前将其复制到临时文件中。只有当脚本是一个独立文件时,这才有效。不幸的是,我的包中有多个python文件和它们之间的导入,所以这是不可能的。我还试图从this question的答案中复制包含python包的整个文件夹,这意味着使用
import groovy.transform.SourceURI
import java.nio.file.Path
import java.nio.file.Paths
class ScriptSourceUri {
@SourceURI
static URI uri
}
但它给了我以下错误:
^{pr2}$似乎还需要一些额外的权限,但我认为我无法获得这些权限(这是一台共享计算机)。在
所以呢?有人知道如何从jenkins共享库运行python包吗?现在,我能想到的唯一解决方案是手动重新创建python包的目录结构,这显然非常混乱和非通用。在
PS:在groovy中使用python脚本代替编写相同的脚本没有特别的原因。只是python脚本经过了很好的测试、理解和支持。用groovy重写整个过程现在是不可行的。在
您可以转到您的Jenkins安装的http://host:8080/jenkins/scriptApproval/页并批准对脚本的请求,请参阅以下:在
按照link获取更多信息。在
相关问题 更多 >
编程相关推荐