I have a customized deploy.cmd
file that I use for deploying my Azure website. It does a few custom things like installing nodejs versions of Typescript and a minifier, and then running unit tests, before building and deploying the website itself.
The problem I'm running into is that it seems to be taking an increasingly long time to run this script, at least out on Azure. On my dev laptop, it takes about 90 seconds to run the deploy.cmd
script. But when I'm pushing it out on Azure, it takes something more like 15-20 minutes to run (and sometimes upwards of 30-40 minutes). I'm not surprised that it's taking longer out on a web server - I am a little surprised that it's taking more than 10 times longer.
Here's a stripped down version of the log file for a recent deployment:
Command: deploy.cmd
18:54:16.89 - Starting deploy script
18:54:19.92 - Installing typescript
18:54:30.90 - Installing minifier
18:54:44.62 - Restoring Nuget Packages
18:55:48.25 - Building solution
18:59:09.12 - Building test projects
19:04:03.67 - Running Payboard.Common.Tests.dll
19:04:19.80 - Running Payboard.Model.Tests.dll
19:04:25.25 - Running Payboard.Services.Tests.dll
19:06:29.72 - Running Payboard.Integrations.Tests.dll
19:06:49.46 - Running Payboard.Web.Tests.dll
19:07:56.99 - Beginning KuduSync
19:08:03.16 - Finished successfully.
Obviously it's the two build steps that are taking the majority of the time. I suppose I could merge those into one single build step - though I'm not completely certain how that would work with KuduSync.
Any other suggestions on how to speed this up? Or is this basically just expected?