Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TFS Build process hangs on any NPM command

I'm building an angular2 app, and I've developed a build profile in TFS to auto-build it.

There are four npm commands:

  • npm install angular-cli -g
  • npm install
  • npm run typings (executes typings install)
  • npm run build (executes ng build)

And then a Copy Publish Artifact step.

However, even when every step passes, it says Finishing Copy and Publish Build Artifacts, the project has been built, and the files have been moved, the actual build never finishes. I've tried breaking those npm commands into a powershell script, having them as NPM commands within TFS, and running them as CMD commands, but the same thing happens every time. Also, if I just remote into the build server and run the commands by hand, it works just fine.

Any ideas?

like image 638
Alex Kibler Avatar asked Jan 20 '26 21:01

Alex Kibler


1 Answers

We've gone through the same headache recently, and I'd strongly suggest you not rely on TFS Build to restore npm packages. Even when you get that right, it takes long and doesn't deploy the node_modules you need to IIS.

Instead, use WebPack to bundle up your node_modules into a bundle.js. Reference this in your projects/scripts folder and check it into source control.

Remove any npm install steps in your build process (it won't be required anymore since you're referencing the bundle.js now).

This will increase your quality (no future package version surprises), and speed up your deployment (no need to download npm packages on each build anymore).

It's fairly quick to get Webpack installed and you'll save yourself headaches :)

like image 169
Neville Avatar answered Jan 23 '26 16:01

Neville



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!