我想为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项目?如果是,可以共享您的配置吗?非常感谢。