web-dev-qa-db-fra.com

Comment publier un travail Web principal asp.net sur le service d'applications Azure

J'ai commencé avec l'application Web asp.net core 2 et je peux la publier sur App Service à partir de Visual Studio à l'aide du déploiement Web.

J'ai créé une nouvelle application de console .net core 2 épurée. Je peux le télécharger en tant que webjob et l'exécuter à l'aide du portail Azure, mais comment puis-je le publier à partir d'une ligne de commande locale ou de Visual Studio?

Fondamentalement, peu m'importe que cela soit publié en parallèle de l'application Web ou de manière autonome.

EDIT: J'ai réussi à obtenir la boîte de dialogue de publication en cliquant avec le bouton droit de la souris sur le projet et en sélectionnant Publier (et non Publier sous Azure WebJob) comme indiqué dans la documentation. Mais je ne sais toujours pas ce qui a fait le tour. Installer Azure SDK? Ajout de webjob-publish-settings.json? Ajout de Setting.job?

7
Liero

Assurez-vous que votre csproj contient le SDK correct:

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">

Cliquez ensuite avec le bouton droit de la souris sur le projet dans Visual Studio, cliquez sur Publier, sélectionnez Microsoft Azure App Service et les options de publication de WebJob devraient s'afficher:  enter image description here

Notez également que vous devez utiliser Microsoft.NET.Sdk et non Microsoft.NET.Sdk.Web

Si vous utilisez Microsoft.NET.Sdk.Web, Visual Studio suppose que vous déployez sur WebSite et non sur WebJob. Les boîtes de dialogue de publication sont légèrement différentes pour WebSite et WebJob. Par exemple, pour un projet WebJob, vous pouvez spécifier WebJob Name.

Vous pourriez être intéressé par:

2
Liero

Publiez le noyau .net en tant que webjob avec le portail Azure :

Comme vous le savez:

Un WebJob recherche un type de fichier spécifique, par exemple (.cmd, .bat, .exe, etc.) Pour exécuter une application console .NET Core, utilisez la commande DOTNET.

Par conséquent, vous devez créer un fichier portant l'extension que WebJob recherche et qui s'exécute.

1.Vous pouvez créer une application .net core conosole. Après l'avoir exécuté, vous aurez le fichier suivant dans votre nom de projet/bin/Debug/netcoreapp2.0

 enter image description here 2.Créez un fichier run.cmd en dessous. Et le contenu de run.cmd est comme ci-dessous:

@echo off

dotnet ConsoleApp7.dll

3.Pour déployer l'application console .NET Core sur un travail Web App Web Azure App Service, accédez au portail Azure et accédez à Azure App Service où vous hébergerez WebJob. Cliquez sur le lien WebJobs et sur le bouton Ajouter.  enter image description here 4.Téléchargez le netcoreapp2.0.Zip

 enter image description here

5.Une fois le WebJob téléchargé, il s'affiche dans la lame WebJob. Cliquez dessus et vous verrez le bouton Exécuter.

 enter image description here 6.Lorsque vous écrivez une sortie sur la console à l'aide de la méthode WriteLine (), celle-ci s'affiche dans la fenêtre Détails de l'exécution sur KUDU/SCM.

 enter image description here

Pour plus de détails, vous pouvez vous référer à cet article et ceci un .

Mise à jour: (publier avec la ligne de commande)

1. Commencez par télécharger le fichier de paramètres de publication de votre application Web à partir du portail Azure.  enter image description here

2.Préparez le dossier .Zip que vous avez créé.

Comme David l'a dit, vous pouvez utiliser WAWSDeploy pour publier un travail Web en ligne de commande. Vous pouvez télécharger WAWSDeploy avec ce link .

3.Puis allez dans le dossier WAWSDeploy/bin/Debug pour ouvrir la ligne de commande locale. Essayez la commande suivante pour déployer la tâche Web:

WAWSDeploy.exe DotNetCoreWebJobSample.Zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v

Le répertoire cible sera app_data\jobs\triggered\[WEBJOB_NAME]. Si ce travail Web est en cours d'exécution, remplacez le déclencheur par continu.

Remarque : vous pouvez placer le fichier WAWSDeploy.exe et publier le fichier de paramètres et le fichier .Zip dans un dossier. Sinon, vous devriez indiquer le chemin complet des paramètres de publication et du fichier .Zip . Pour que vous puissiez publier webjob avec succès.

Pour plus de détails sur WAWSDeploy, reportez-vous à cet article article .

6
Joey Cai

Il existe un excellent article sur Développer et déployer WebJobs à l'aide de Visual Studio - Azure App Service qui couvre votre question.

Après l'installation des conditions préalables (en fonction de la version de votre système virtuel), vous pouvez Cliquer avec le bouton droit de la souris sur le projet d'application console dans l'Explorateur de solutions, puis cliquer sur Publier en tant que Azure WebJob .

0
Martin Brandl