Is there a way of having my Azure WebJob automatically deploy without needing to right click and select "Publish as Azure WebJob" every time? i.e. when I check-in my solution it is automatically deploy to the Azure Portal webjob section
While I tried to accomplish this, I found out that there is no tooling support for dotnet core projects as of now. The proposed webjobs.props/ msbuild solutions are all dotnet framework specific.
However I also found out that a webjob can be anything that's executable on the local machine (could be node.js or just a batch command).
The key is to understand how WebJobs are recognized by the host:
run.cmd
file that contains instructions on how to start the webJob. For dotnet core that would be dotnet MyDll.dll %*
(%*
to pass arguments for output redirection etc. down from the host). run.cmd
file needs to be located either at app_data/jobs/continuous/[NameOfJob]
or app_data/jobs/triggered/[NameOfJob]
. For the triggered job you could also add a schedule using a settings.job
file like described here. run.cmd
at the proper location it will be recognized as a WebJobNow to deploy a webjob using VSTS regardless of the runtime framework follow these steps:
settings.job
here if needed.app_data/jobs/[triggered/continuous]/[nameOfJob]
and copy your executables into the lowest folder. Make sure run.cmd
is directly under the [nameOfJob]/
directoryAnd that's it.