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
For which web app can you configure a WebJob? Publishing a . NET Core WebJob to App Service from Visual Studio uses the same tooling as publishing an ASP.NET Core app.
The task can be used to deploy to a range of Azure App Services such as: Web Apps on both Windows and Linux. Web Apps for Containers. Function Apps on both Windows and Linux.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With