Aujourd'hui, nous avons rencontré le message suivant dans Azure Portal
WebJob ne peut pas être ajouté à partir du portail si le contrôle de source du formulaire de déploiement est configuré.
Nous supposons qu'il s'agit d'une nouvelle fonctionnalité d'où l'orthographe est incorrecte: 'forme de déploiement le contrôle de code source devrait être "déploiement à partir de contrôle de code source".
Je ne sais pas où définir un paramètre qui a résolu ce problème.
Cela doit être quelque part dans DevOps, nous supposons.
Nous l'avons résolu en pas en déconnectant un pipeline.
Nous l'avons résolu en implémentant un pipeline de création/publication WebJob séparé.
Voici les étapes qui ont fonctionné pour nous:
Dans Azure Portal
Dans DevOps
Dans votre pipeline de build Remarque importante: ajoutez l'argument suivant: --output $(build.artifactstagingdirectory)
à l'étape de génération.
Cela déploie le WebJob dans le répertoire correct. Dans notre cas: $(System.DefaultWorkingDirectory)/_ms-reporting-webjob-dev-CI/drop
En jetant un œil à la console Kudo dans notre App Service, l'emplacement du fichier pour notre WebJob est:
La solution de contournement qui a fonctionné pour moi consistait à télécharger le travail Web directement via la console Kudu.
Ouvrez la console Kudu en sélectionnant "Outil avancé" -> "Aller" dans votre service d'application sur le portail Azure.
Une fois sur le portail Kudu, ouvrez une "Debug Console" -> "CMD"
Accédez au répertoire de vos travaux Web: "d:\home\site\wwwroot\app_data\jobs\continue\{nom du travail}" ( https://github.com/projectkudu/kudu/wiki/WebJobs )
Ensuite, faites glisser et déposez le fichier .Zip que vous avez préparé pour télécharger votre travail Web ( https://github.com/projectkudu/kudu/wiki/Kudu-console )
Le travail sera désormais répertorié sur le portail Azure et démarré.
J'ai utilisé le chemin physique suivant dans l'application virtuelle et il l'a résolu pour nous
site\wwwroot\App_Data\jobs\triggered\jobname
La méthode d'application virtuelle fonctionne très bien! Mais, comment pouvons-nous configurer cronjob Scheduling (comme settings.job) avec cela?
Nous avons eu le même problème et nous avons remarqué qu'un ancien pipeline de déploiement était connecté à notre travail Web dans la lame du Centre de déploiement. La déconnexion a résolu le problème pour nous et nous avons pu déployer manuellement.
J'ai utilisé la console Kudu pour télécharger les webjobs
Vous pouvez aller sur le chemin D:\home\site\wwwroot\App_Data\jobs\puis télécharger le dossier webjob ici et cela apparaît également dans votre portail Webjobs