Azure Webjob über Git bereitstellen

8

Ich habe eine Lösung, die eine .net mvc-Website und einen Web-Job enthält.

Ich deploye mit git - also auf git Push zu azure, meine Website wird aktualisiert. Ich füge jetzt nur eine Konsolenanwendung hinzu, die nach einem Zeitplan ausgeführt wird. Ich versuche herauszufinden, wie ich dies mit der Website bereitstellen kann, wenn ich git push , aber ich bin mir nicht sicher, wie das geht.

Ich weiß, ich könnte einen Ordner website\app_data\jobs\triggered\webjob erstellen und die Dateien dorthin kopieren (sagen wir von einem Post-Build-Ereignis im Webjob), aber das würde bedeuten, dass ich all diese Dateien für den Git Repo für den deploy, um sie abzuholen - was auch bedeuten würde, dass Git jedes Mal, wenn ich baue, mich dazu auffordern würde, sie erneut zu begehen - ugh.

Gibt es einen schöneren Weg, dies zu tun - wo ich einfach meinen Repo zu azure schieben kann, und es wird meine Website richtig UND meinen Webjob bereitstellen?

Danke

    
Matt Roberts 04.11.2014, 15:42
quelle

3 Antworten

4

Ja, Sie können dies tun, ohne die tatsächlichen EXEs und die Projektausgabe explizit in den Ordner zu schreiben. In diesem Blogpost aus dem Azure-Blog wird die Problemumgehung dokumentiert, mit der Git oder die Befehlszeilenbereitstellung einer Webanwendung in WebJobs aktiviert werden kann.

Ссылка

Wenn dies nicht blockiert, poste bitte ein Update und ich werde dir bei der Diagnose anderer Probleme helfen. Sie können auch das WebJob-Veröffentlichungs-NuGet auf das neueste Update in NuGet aktualisieren: Ссылка

    
brady gaster 05.11.2014 19:46
quelle
3

Ab dem 15.09.2015 scheint dies so einfach wie einige Kontextmenüs in Visual Studio zu sein.

Wenn Sie möchten, dass Ihr WebJob automatisch bereitgestellt wird, wenn Ihre Website bereitgestellt wird, können Sie in Visual Studio mit der rechten Maustaste auf die Website klicken und "Add- & gt; Vorhandenes Projekt als Azure WebJob" auswählen.

Weitere Details hier , insbesondere die " Aktivieren Sie die automatische WebJobs-Bereitstellung mit einem Webprojektabschnitt.

    
Steve Cadwallader 15.09.2015 17:53
quelle
1

Ich habe damit gekämpft, aber ich habe es jetzt funktioniert.

Es scheint, dass WebJobs.Publish 1.0.2 verwendet werden muss. 1.0.1 funktionierte nicht für mich. Hat funktioniert, sobald ich aktualisiert habe.

Ich hatte auch versucht, webjobs.props Dateien wie angegeben hinzuzufügen hier von David Ebbo, aber das hat nicht funktioniert für 1.0.1 und ich habe jetzt diese Dateien entfernt und es funktioniert unter 1.0.2 ohne sie.

Mit WebJobs.Publish wird ein webjob-publish-settings.json (im Webjob-Projekt) und eine webjobs-list.json (in der MVC-App) erstellt und das scheint alles zu sein, was benötigt wird.

Das einzige, was nicht funktioniert, ist das Erstellen des Zeitplans für einen geplanten Job. Fortlaufende und ausgelöste Jobs werden problemlos bereitgestellt. Es gibt einen Thread hier wo David Ebbo erwähnt, dass dies eine aktuelle Einschränkung ist.

    
Derek Flenniken 03.12.2014 06:45
quelle

Tags und Links