Jenkins的Artifactory插件-脚本管道中的NPM安装失败

时间:2019-05-07 01:42:55

标签: jenkins npm plugins artifactory

我想为NPM项目的Jenkins脚本化管道使用Artifactory插件。在NPM安装过程中,我遇到了一个问题:

quotes = QuoteOfTheDay.objects.order_by('-id')
second_to_last = None
if quotes.count() > 1:
    second_to_last = quotes[1]

我在Jenkins的脚本管道中使用Artifactory plugin for Jenkins (v. 3.2.2)。我正在关注official Jfrog Documentation

我已经在某种程度上与JFrog支持保持联系,我已经在official Github中提出了一个问题,并在JFrog支持here中做出了贡献。

我已经将该插件用于maven Project的脚本化管道,并且工作正常。当我从 package.json 中删除了一些依赖项时,我试图调试很多问题,有时可以解决问题。

这是我的groovy脚本中的配置。

SEVERE: process hasn't exited
java.lang.IllegalThreadStateException: process hasn't exited
    at java.lang.UNIXProcess.exitValue(UNIXProcess.java:423)
    at org.jfrog.build.extractor.executor.CommandExecutor.exeCommand(CommandExecutor.java:78)
    at org.jfrog.build.extractor.npm.NpmDriver.runCommand(NpmDriver.java:80)
    at org.jfrog.build.extractor.npm.NpmDriver.install(NpmDriver.java:42)
    at org.jfrog.build.extractor.npm.extractor.NpmBuildInfoExtractor.runInstall(NpmBuildInfoExtractor.java:153)
    at org.jfrog.build.extractor.npm.extractor.NpmBuildInfoExtractor.extract(NpmBuildInfoExtractor.java:61)
    at org.jfrog.build.extractor.npm.extractor.NpmInstall.execute(NpmInstall.java:50)
    at org.jfrog.hudson.npm.NpmInstallCallable.invoke(NpmInstallCallable.java:53)
    at org.jfrog.hudson.npm.NpmInstallCallable.invoke(NpmInstallCallable.java:20)
    at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3085)
    at hudson.remoting.UserRequest.perform(UserRequest.java:212)
    at hudson.remoting.UserRequest.perform(UserRequest.java:54)
    at hudson.remoting.Request$2.run(Request.java:369)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

我希望已安装 package.json 中指定的所有软件包,但似乎在npm安装期间会超时。我只有一个有趣的观点。我尝试使用以下修复程序here安装具有固定超时here的Snapshot版本,然后出现此错误:

def server = Artifactory.server 'artifacts-prod-01'
server.credentialsId = 'artifactory-credentials-id'
def rtNpm = Artifactory.newNpmBuild()
rtNpm.resolver server: server, repo: 'npm-main-dev'
withEnv(["PATH+NODEJS=${tool 'NodeJS 10'}/bin"]) {
        def buildInfo = rtNpm.install path: '.'
}

有没有人使用Artifactory Jenkins插件通过脚本化管道来构建其NPM项目?如果是,可以共享您的配置吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

自Jenkins Artifactory插件v3.2.3起,此问题已解决。请升级到最新版本。 有关更多信息,请参见HAP-1165和此commit