Search code examples
deploymentazurecloudazure-deployment

How to deploy only worker/web role in Azure


If you have a web AND a worker role in an Azure solution, all the waiting for the publishing an update package, uploading to the cloud storage, waiting for the package to be deployed could be exhausting, an waste a lot of time. How to upload/deploy only the worker or web role of an Microsoft Azure Solution, that contains both roles, and save both internet traffic and time?


Solution

  • There is no option to build a package for only one of the both roles, but if you have limited bandwidth or traffic, and want to save from the upload time (which can be quite a big portion if you have a lot of static content: Look here for an example), there is one option.

    As maybe you know, the package generated from Visual Studio for deployment (the 'cspkg' file) is nothing more, than an archive file. Suppose, you want to update the WORKER role only. The steps are:

    1. Create the update package as normal
    2. Open it with the best archive manager (7zfm)
    3. Inside, besides the other files are 2 'cssx' files - one for each role. Delete the unnecessary cssx file.
    4. Upload to Azure Blob Storage (optional)
    5. Update the instances from the Azure Management Portal using the 'local' or 'storage' source as normal
    6. On the Role dropdown, select only the role you want to update
    7. Press OK :)

    Hope this helps.