We have web job running in app instance. This is shared for a .net core web api app as well and other team is deploying web app to this same app servcie .
We can see the web job is not there now ? .
is this because of the web app deployment deleted the web job ?
can we deploy and web app in to appservice with out destroying a web job ?
is it better to have dedicated app service for web job?
Please give some pointers on the above questions.
While deploying to azure, if we check "Remove additional files are destination" in file publish options, then web job also will be deleted.
Related
I have a files in azure repro and i need to zip after that i need to
updated into azure webapp to with new webjob with
manually/continuous.
2.I have created Build Pipeline and Release Pipeline. WebJobs are not created in the azure webapp
Kindly please help on this issues if any one knows.
The processes you have taken are just publishing the demo.zip file to the default production slot in your Web App. It is not creating a WebJobs in the Web App.
I am afraid that you have misunderstanding on WebJobs of Web App. It is a feature of Azure App Service that enables you to run a program or script in the same instance as a web app, API app, or mobile app. There is no additional cost to use WebJobs.
To create a WebJob in your Web App, normally, you need to manually add the WebJob in the web UI of your Web App.
I am trying to deploy 4 or more webjobs and a webapi to a single app service on Azure, using Azure Devops.
I have read previously that to deploy a webjobs i needed to prp my artefact with the following tree organisation : webjobs/app_data/jobs/continuous ou webjobs/app_data/jobs/triggered
So i made it so that my build prepared the artefacts organised like this :
artefact
/WebApi
/...dlls and stuff
/webjob
/app_data
/jobs
/continuous
/webjob1
/...
/webjob2
/...
/triggered
/webjob3
/...
/Webjob4
/...
When i deploy webjobs, using the task Azure App Service Deploy, and pointing the folder webjob, i can see my webjobs being deployed all well.
But when i try to deploy the webApi as well, it doesn't work.
I first tried to deploy webjobs and webapi in two separated task (still using Azure App Service Deploy ) but one was overwritting the others.
I then tried using one task Azure App Service Deploy, by providing the top folder containing WebApi and webjob, but this doesn't seem to work.
I suppose there is a simple thing to do here, but i don't seem to be able to work it out ...
Is there any people who have managed to do this ?
Check this case: How do you deploy an Azure WebJob and App to the same App Service via VSTS?
You need to associate webjobs with web app, by right clicking your Web App project in Visual Studio and select Add > Existing Project as Azure WebJob and follow the wizard.
The webjobS are included in the web app package, then you just need to deploy web app to azure app service.
It will generate webjob’s package too during publishing (that why there are two zip files), but you just need to specify web app package in Azure App Service deploy task. (Check Publish using Web Deploy option). Make sure the "Exclude files from the App_data folder" is unchecked:
I am deploying a WAR file into an app server of Azure, My pipeline build is success but my the web app is not showing in the server URL, can someone tell me where I missed?
2020-04-20T14:01:09.3660179Z ##[section]Starting: Deploy War to Azure App Service
2020-04-20T14:01:09.3766431Z
==============================================================================
2020-04-20T14:01:09.3766892Z Task : Azure App Service deploy
2020-04-20T14:01:09.3767548Z Description : Deploy to Azure App Service a web, mobile, or API app
using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby
2020-04-20T14:01:09.3767944Z Version : 4.163.5
2020-04-20T14:01:09.3768213Z Author : Microsoft Corporation
2020-04-20T14:01:09.3768522Z Help : https://aka.ms/azureappservicetroubleshooting
2020-04-20T14:01:09.3768901Z
==============================================================================
2020-04-20T14:01:10.5416719Z Got service connection details for Azure App Service:'jpetstore01'
2020-04-20T14:01:13.1232245Z Package deployment using WAR Deploy initiated.
2020-04-20T14:01:28.4292592Z Deploy logs can be viewed at
https://jpetstore01.scm.azurewebsites.net/api/deployments/9d03f1b9973b489e898d2aedfd5f7129/log
2020-04-20T14:01:28.4294018Z Successfully deployed web package to App Service.
2020-04-20T14:01:34.2874810Z Successfully updated App Service configuration details
2020-04-20T14:01:36.5781456Z Successfully updated deployment History at
https://jpetstore01.scm.azurewebsites.net/api/deployments/41587391294722
2020-04-20T14:01:38.3127393Z App Service Application URL: http://jpetstore01.azurewebsites.net
2020-04-20T14:01:41.0462523Z ##[section]Finishing: Deploy War to Azure App Service
This is my pipeline log, It is saying deployment successfull but i am not able to get the web app in http://jpetstore01.azurewebsites.net. can someone help me with this?
From the logs shared by #LoGan, it appears that the war file was deployed successfully by the Azure DevOps task, but the application is running into some errors during startup.
Please navigate to https://<sitename>.scm.azurewebsites.net/DebugConsole and then browse to the D:\home\LogFiles\Application directory. You should see one or more files named catalina.*.log. These are the log files generated by Tomcat, which should provide you some hints about what's going wrong with the application during startup.
I'm using the ASP.NET Core & Angular startup template from ASP.NET Boilerplate with Multi-Tenancy disabled: 1 database with a single tenant(Default).
I'm also using TeamCity to build/test/publish the projects available in the startup template so I end up with 3 NuGet packages that are getting pushed to Octopus Deploy:
API (Host project, ASP.NET Core Web Application)
Migrator (Console application, capable of migrating the database(s))
UI (Angular App)
I want to deploy this setup to Azure with Octopus Deploy(self hosted, v2018.9.0) in the following way using 2 App Services(Host & UI) and 1 Azure SQL database(Host):
Take the UI and API applications offline, displaying a friendly maintenance message while updating the projects.
Migrate the database using the Migrator package
Deploy the API application package
Deploy the UI application package
Put the API application online, maybe some more tests to check that it's working correctly
Put the UI application online.
If all this was on-prem, I would have no questions. It's the Azure part that I can't figure out because I don't know how to do these things on Azure via Octopus Deploy:
Put an Azure App Service offline/online (using an app_offline.htm file)
Deploy the Migrator package to the API Azure App Service in a special folder(so that I don't overwrite the API deployment) and run the migrator: dotnet [migrator.dll] -q
I tried using the Octopus Deploy "Deploy an Azure Web App" but this step won't let me also deploy the migrator package and run it before the API package is deployed. Or does it? I don't know how.
I tried using the "Run an Azure PowerShell script" but this executes on the Octopus Deploy server and not on the Azure App Service environment right?
Maybe there are other, even better, approaches deploying this setup to Azure?
You can use App service slots to swap in/out version of your logical applications. When you swap there's a warming up that occurs and no loss of traffic.
So basically deploy to backup slot, then swap production with backup slot.
For the db I don't think your strategy is valid. There are some assumptions you are making that will not make your life easy. I would look at handling the db deployment separately with no breaking changes but that's my opinion.
I'm not familiar with Octopus or TeamCity so I won't go into details about those.
How to deploy azure webjob using Octopus deployment?
For me, octopus says it is deployed to azure but not able to see my webjob under the website.
Can anyone help how to achieve this?
There is a documentation on how to deploy a web job from octopus Azure Web Apps.
I was using Octopus Deploy 3.0 and in my case, I only wanted to deploy a webjob without a web app:
I've chosen Azure Web App Deployment Target:
And in the deployment section, specify the physical path.
For continuous job you can specify a path like that:
For triggered job you can specify a path like that:
have you try to publish your web jobs to your website using Visual Studio?
One way to verify whether your web jobs has been deployed to your website/web app is to access to the Kudu site of your website.
https://.scm.azurewebsites.net/azurejobs/#/jobs
Go to Debug Console (CMD), try to access D:\home\site\wwwroot\App_Data\jobs
and see if there is any web jobs underneath it
You can try using the nuspec to package your artifacts.
Put you web jobs under App_Data\jobs\trigger{webjob} or App_Data\jobs\continuous{webjob} based on your job type.
And then deploy using Octopus, Azure will be able to recognize it.
This might help:
http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/#.VVRSANNViko
Good luck