2016-04-26 9 views
0

Wir haben eine bestehende Web App in Azure, für die wir einen Node.js-Webjob bereitstellen.Node.js Azure WebJob: Bereitstellung von Visual Studio Team Services mit fortlaufender Bereitstellung

Wir implementieren derzeit den Webjob während des Build (CI) -Prozesses, indem wir den Ordner run.js und node_modules in das Verzeichnis app_data/jobs/continous der Webanwendung gemäß dem einzigen Tutorial, das ich gefunden habe, kopieren und dann die WebApp erstellen selbst mit CD.

Während dies funktioniert, scheint es ein wenig hacky, und es dauert sehr lange, die Webanwendung jetzt aufgrund der großen Anzahl von Dateien im Verzeichnis node_modules bereitzustellen.

Gibt es einen eher automatisierten Ansatz, d. H. Den Web-Job node.js in eine bestehende Web-App zu integrieren? asp.net Projekte, sondern nur die eine für node.js webjobs, die 2 oben in Absatz beschrieben wird)

aktualisieren

Ich bin mit den Anweisungen: Ich kann alle Arten von Übungen für dieses Szenario re finden in Amit Blog: http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/#.VyC06DArKHs

+0

Sind Ihre WebApp-Dateien und WebJobs-Dateien im selben Repository? –

+0

Ja, das sind sie, danke. – Gustyn

Antwort

0

Allgemeinen, wenn Sie Git verwenden, um Ihre ASP.NET-Anwendung Azure Web Apps-Dienst bereitstellen, können Sie npm verwalten nutzen Datei package.json die Knotenmodule über Bereitstellungsaufgabe zu installieren.

Sie können die folgenden Schritte versuchen:

  1. eine package.json Datei in Ihrem Stammverzeichnispfad mit dem Inhalt einschließlich Ihrer benötigten Abhängigkeiten hinzufügen. https://docs.npmjs.com/files/package.json#dependencies.
  2. Wenn Sie das Projekt in Visual Studio haben, können Sie direkt den wwwroot klicken, dann auf Add => „Neues Element“, dann unter der Client-side Registerkarte, wählen Sie die NPM Configuration File hinzuzufügen. enter image description here enter image description here Nachdem Sie die npm-Konfigurationsdatei erstellt und konfiguriert haben, installiert die Azure-Bereitstellungsaufgabe die Abhängigkeiten automatisch.
  3. Erstellen Sie das Web-Skript und den Ordner in Ihrem Stammverzeichnis in Ihrem Repo oder Projekt. Z.B. app_data\jobs\continuous\testwebjob\run.js. Sie können das Modul direkt require, es wird das Modul in der node_modules im Stammverzeichnis finden.

Afterall, Ihr Stammverzeichnis des Projekts wird eine ähnliche Struktur haben: enter image description here

Jede weitere Sorge, Sie fühlen sich frei, mich zu informieren.

+0

Vielen Dank für Ihre schnelle Antwort. Leider verwenden wir nicht Asp.NET5 (was auf Ihrer Verwendung von wwwroot beruht, nehme ich an, dass Sie in diesem Fall sind) und wir werden nicht, bis das .NET Core-Team dieses Projekt in einem viel stabileren Zustand bekommt, so viel ich möchte es. Wenn Sie nicht über Asp.NET5 sprechen, wie wird dann das wwwroot-Konzept in herkömmlichem Asp.NET verwendet? – Gustyn

+0

Wir verwenden npm bereits in unserem CI-Prozess und kopieren dann den Prozess in die Webapp, bevor wir mit einer Reihe von Aufgaben in der VSO-Builddefinition erstellen und veröffentlichen. Anschließend verwenden wir den VSO-Release-Mechanismus, um die Site bereitzustellen. Der Release-Teil des CD-Prozesses dauert länger als erwartet. Ich aktualisiere meine Frage mit einem Link zu dem Blog, den ich verwendet habe, um dies einzurichten. – Gustyn