0

Possible ways to accomplish it:

  1. Creating dedicated WCF service for this purpose (currently my favorite option)
  2. Using the REST API?
  3. Azure PowerShell?

Explanation:

Publishing a web-role cloud-service takes about 10 minutes. It's much too long during development - I try to do as much as I can offline, unit-test-ish and modular, but it's just impossible to completely avoid development cycles altogether with the VM.

Apparently, the long time is mostly a result of the machine being wholly restarted, so I'm trying to find an automatic solution, like uploading and installing the binaries.

  1. What is the best way to accomplish it?
  2. What do you think? would it cut at least 50% of the publishing time?
  3. Do you expect any critical problems?
Community
  • 1
  • 1
Tar
  • 8,529
  • 9
  • 56
  • 127
  • Please clarify 2 things 1) When you say `web worker`, you mean `Web Role/Worker Role (i.e. Cloud Services)`? and 2) Do you want to speed it up just for testing purposes or do you want it in production as well? – Gaurav Mantri Jul 08 '15 at 07:57
  • @GauravMantri - thanks, I updated with clarification - yes, it's a `web-worker`, and yes, it's only for development – Tar Jul 08 '15 at 08:11
  • Thanks. One more question .... Does you cloud service has both Web and Worker roles or just a Web Role? – Gaurav Mantri Jul 08 '15 at 08:14
  • @GauravMantri - Currently only web role, but everything is according to our need of course. – Tar Jul 08 '15 at 13:17

1 Answers1

0

The solutions proposed below are definitely against best practices and should NEVER-EVER be used in production environment.

If your objective is to quickly test your changes in your development environment, there are two ways you can go about it.

  1. Enable RDP and copy your modified binaries or other files directly in the appropriate folders on the VM. You could enable Remote Desktop on your web role and copy the files manually in appropriate folders.
  2. Use Web Deploy: This will only work for web roles in your project but you could enable Web Deploy on your Web Roles and use that to make faster deployment. Please see this link for more details on how to use this feature: https://msdn.microsoft.com/en-us/library/azure/ff683672.aspx.
Gaurav Mantri
  • 128,066
  • 12
  • 206
  • 241
  • Option 1 is not automatic (imagine the cycle: code change -> rebuild -> ***[manually-copying-files-if-you-see-what-I-mean...]*** -> test -> all over again...). option 2 is not possible for cloud-service, only for web-app, sadly... – Tar Jul 10 '15 at 11:59
  • Option 2 is certainly available for cloud services (though only web roles). Please check the link in my answer. I agree that Option 1 is not automatic but I think it is better than redeploying the package. – Gaurav Mantri Jul 10 '15 at 12:03
  • Sorry, you're right, and it is even enabled in my deployment settings - and it still takes 10 minutes, albeit it is enabled. – Tar Jul 10 '15 at 12:08
  • Hmmm...I must admit I never tried it. I have only read about it that it is super fast and is meant for quickly deploying and testing the code changes in cloud services. Sorry about this. – Gaurav Mantri Jul 10 '15 at 12:15