yarn install
消耗我所有构建服务器的cpu&记忆,即使有
一个小小的npm项目。知道为什么吗?
yarn install
,当由TeamCity或Jenkins运行时,消耗大部分CPU /内存,永远不会完成yarn install
工作(几秒钟后完成)npm install
在TeamCity / Jenkins运行的几秒钟内完成步骤:
创建一个小的npm项目:
mkdir temp
cd temp
yarn init # all defaults
yarn add dummy-module # tiny test package
将此提交给git,使用单个命令yarn install
设置Jenkins或TeamCity构建。
构建永远不会完成,最后一行控制台输出:yarn install v1.6.0
。
此时,Node.js进程占用了大部分CPU和内存
建造机器。将命令更改为npm install
可使其成功运行。
由于Jenkins和TeamCity的共同点,似乎问题就在于此 从java运行子进程。我找不到任何错误的迹象 在TeamCity或Jenkins日志中。在中止Jenkins构建时, 我在jenkins.err.log中看到以下内容:
Apr 22, 2018 8:59:11 AM hudson.model.Run execute
INFO: master-cake #9 aborted
java.lang.InterruptedException
at java.lang.ProcessImpl.waitFor(Unknown Source)
at hudson.Proc$LocalProc.join(Proc.java:324)
at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:155)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.Build$BuildExecution.build(Build.java:206)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
at hudson.model.Run.execute(Run.java:1727)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
答案 0 :(得分:1)
我从原始问题中留下了一些重要信息 - 我还使用了纱线的离线镜像,它存储在网络驱动器上。事实证明,TeamCity Windows服务无法访问网络驱动器:https://confluence.jetbrains.com/display/TCD10/Known+Issues#KnownIssues-AgentrunningasWindowsServiceLimitations
将纱线的离线镜像重新定位到本地目录,解决了TeamCity和Jenkins的问题。