Deploy Azure WebJob using VSTS Deploy Azure WebJob using VSTS azure azure

Deploy Azure WebJob using VSTS


I've had issue with this particular problem as well.

The latest method I found is using Web Deploy Operation Settings , -skip:Directory= (in this case it would be -skip:Directory='\\bin') when you create your azure deploy task in the release definition (Additional arguments). I've seen that this indeed excludes the bin folder from the update actions (result).

Let me know if this helps you in any way.


Refer to these ways to deploy webjob to azure:

  1. Modify Visual Studio Build task to deploy webjob with FileSystem (MSBuild Arguments: /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:publishUrl="$(build.artifactstagingdirectory)\\WebJob" /p:DeployDefaultTarget=WebPublish)
  2. Add Delete Files task to release definition to delete bin folder (Source Folder: $(System.DefaultWorkingDirectory)/WebJobVnext/drop/WebJob); Contents:bin)
  3. Modify Azure App Service Deploy task (1. Uncheck Publish using Web Deploy option. 2. Package or folder: $(System.DefaultWorkingDirectory)/[artifact name] /drop/WebJob)


I was finally able to fix it, thanks @starain-MSFT for pointing me in the right direction. I had to make some minor changes, though. This is the task that creates the deployment package:

Generate Azure WebJob deployment package

MSBuild arguments:

/p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:DeployDefaultTarget=WebPublish /p:Configuration=$(BuildConfiguration) /p:OutputPath=.\bin\ /p:publishUrl="$(build.artifactstagingdirectory)\temp\WebJob"

The difference here comparing to @starain-MSFT answer is that I had to add the /p:OutputPath= parameter, otherwise I'd get the following error:

The OutputPath property is not set for project

After generating the package, I delete the bin folder and zip it (this reduces the build time).

This is my deployment task:

Deploy Azure WebJob using VSTS

Please note that $(DeploymentPackagePath) is the path to the zip file that contains the deployment package, as mentioned before. It doesn't matter if you deploy the package as a zip file or if you unzip it and deploy the folder, it works both ways.