将库导入Jenkins groovy脚本

时间:2017-02-23 16:32:29

标签: jenkins groovy jenkins-pipeline grape

在我的Jenkins构建中,我有一个Groovy脚本(因为我使用的是Pipeline插件),我正在尝试使用OkHttpClient进行API调用。

我从here获得了以下Grape代码:

@Grapes(
    @Grab(group='com.squareup.okhttp', module='okhttp', version='2.7.5')
)

为此,我得到了:

General error during conversion: Error grabbing Grapes -- [unresolved dependency: com.squareup.okkhttp#okhttp;2.7.5: not found]

java.lang.RuntimeException: Error grabbing Grapes -- [unresolved dependency: com.squareup.okhttp#okhttp;2.7.5: not found]
at sun.reflect.NativeContructorAccessorImpl.newInstance0(Native Method)

知道可能出现什么问题吗?

在Jenkins管道脚本中运行时,Grape无法检索包吗?

1 个答案:

答案 0 :(得分:0)

我遇到类似的问题,运行使用@Grab注释的Jenkins Groovy控制台脚本。该错误是由Jenkins Groovy无法解析我的公司代理主机服务器引起的。

可以在命令行上设置Groovy代理服务器,如下所示:

groovy -Dhttp.proxyHost=yourproxy -Dhttp.proxyPort=portNumber yourscript.groovy

但我无法找到如何为Jenkins Groovy做到这一点。

我结束了以下解决方法:

您可以从命令行安装所需的库(假设您可以访问Jenkins服务器)。在这种情况下,代理服务器很容易指定如下:

grape -Dhttp.proxyHost=proxy.server.net -Dhttp.proxyPort=port install %groupId% %artifactId% [%version%]

还要确保在Jenkins用户帐户下登录时安装库。 Grapes库是特定于用户帐户的。