2014-11-26 9 views
14

Ich verfüge über eine Git-fähige ASP.NET-Webanwendung mit einem zugeordneten Azure-WebJob. Wenn ich dies über Visual Studio bereitstelle, ist alles in Ordnung, aber das ist in einer Continuous Delivery Environment etwas schwierig, daher möchte ich die Web App und den WebJob via Git veröffentlichen.Geplanter Azure-WebJob, der über Git bereitgestellt wird, führt zu On-Demand-Job

Über das Azure Tooling ich mein WebJob Projekt verbunden und ich bekam einen "webjobs-list.json" Datei innerhalb des WebApp Projekt:

{ 
"$schema": "http://schemastore.org/schemas/json/webjobs-list.json", 
"WebJobs": [{ 
    "filePath": "../CodeInside.Hub.Job/CodeInside.Hub.Job.csproj" 
    }] 
} 


webjobs-list.json Source

Im Inneren der Konsole App-Projekt ich habe eine "webjob-Publish-settings.json" Datei mit folgendem Inhalt:

{ 
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
"webJobName": "Hub-Crawler", 
"startTime": "2014-11-25T02:00:00+01:00", 
"endTime": null, 
"jobRecurrenceFrequency": "Day", 
"interval": 1, 
"runMode": "Scheduled" 
} 

webjob-publish-settings.json

Wie Sie sehen, ist der "runMode" auf "Geplant" eingestellt und alles ist in Ordnung, wenn ich es über Visual Studio bereitstellen.

Aber ohne Visual Studio Ich habe diese "on demand" WebJob: enter image description here

Ist dies derzeit nicht unterstützt oder was das Problem sein könnte? unterstützt wird noch nicht gut

Der komplette SLN kann in der Tat auf GitHub

Antwort

5

Es gibt endlich eine Lösung für die Bereitstellung von geplanten Webjobs mit Git-Bereitstellung.

This Blog hat Details.

Die Lösung verwendet den Kudu-Scheduler im Gegensatz zum Azure-Scheduler, sodass das Azure-Portal den Auftrag weiterhin als "On Demand" anzeigt, aber pro Zeitplan ausgeführt wird und das Portal den Verlauf genau anzeigt.

+0

Gebraucht seit einer Woche - vergessen Sie es hier zu erwähnen. Ich war mir nicht sicher, was die Verbindung zwischen den verschiedenen settings.json/web-publish Einstellungsdateien ist und ein Problem hier erstellt: https://github.com/projectkudu/kudu/issues/1601 Die Antwort hat mir geholfen, aber da sind noch einige Fragen übrig;) –

6

gefunden wird, ist das Problem, dass das Szenario. Bei der Veröffentlichung über Git (oder GitHub/Bitbucket) wird die webjob-publish-settings.json-Datei ignoriert.

Eine Problemumgehung besteht darin, einmal mit VS zu veröffentlichen, nur um den erstellten Scheduler zu erstellen, und anschließend git zu verwenden.

Letztendlich wird dieses Szenario mithilfe von Azure Resource Manager-Vorlagen gelöst, die WebSite und Scheduler definieren. Technisch kann das heute gemacht werden, aber es gibt noch nicht viel Dokumentation.

+0

Ok - jetzt bin ich sogar nicht in der Lage, es über Visual Studio 2013 Update 4 zu veröffentlichen. Ich bekomme diesen Fehler beschrieben, aber könnte herausfinden, was falsch ist: http://stackoverflow.com/questions/26277009/azure- webjob-deploy-error-managementcertificatepath Ideen? –

+0

Das ist ein nicht verwandtes Problem, so dass es am besten wäre, es getrennt zu diskutieren. –

+0

Ok - nach der Aktualisierung von VS/Azure Tools (und Löschen des vorhandenen Schedulers & Jobs auf dem Portal) hat die manuelle Bereitstellung wieder funktioniert. –

Verwandte Themen