Visual Studio-Bereitstellungsassistent

In diesem Dokument wird erläutert, wie Sie den Veröffentlichungsassistenten von Visual Studio zur Vereinfachung der Bereitstellung von .NET-Anwendungen auf der Google Cloud einrichten.

Einführung

Mit der neuesten Version der Cloud Tools for Visual Studio ist die Bereitstellung von .NET-Anwendungen auf Google Cloud einfacher denn je. Wir haben jetzt einen in die Erweiterung integrierten Bereitstellungsassistenten, der Ihre Anwendung auf den folgenden unterstützten Zielen bereitstellt:

  • Compute Engine für ASP.NET 4.x-Anwendungen
  • Flexible App Engine-Umgebung und Google Kubernetes Engine für ASP.NET Core-Anwendungen

Der Bereitstellungsassistent erkennt automatisch, welche Ziele für Ihr Projekt unterstützt werden und leitet Sie durch den Bereitstellungsprozess.

Erste Schritte

Sie können den Bereitstellungsassistenten auf zwei Arten aufrufen: Entweder über Tools > Google Cloud Tools > Publish [PROJECT-NAME] to Google Cloud (Tools > Google Cloud Tools > [PROJEKTNAME] auf Google Cloud veröffentlichen) oder durch Klicken mit der rechten Maustaste auf den Projektknoten im Solution Explorer und anschließendem Klicken auf Publish [PROJECT-NAME] to Google Cloud ([PROJEKTNAME] auf Google Cloud veröffentlichen).

Bereitstellungsziele

Im Bereitstellungsassistenten werden die mit dem ausgewählten Projekt kompatiblen Google Cloud Platform-Bereitstellungsziele angezeigt.

Wenn Sie das Projekt wechseln möchten, öffnen Sie Cloud Explorer durch Klicken auf Tools > Google Cloud Tools > Open Cloud Explorer (Tools > Google Cloud Tools > Cloud Explorer öffnen) und wählen das Projekt aus, das Sie bereitstellen möchten.

ASP.NET 4.x-Anwendungen bereitstellen

So stellen Sie eine ASP.NET 4.x-App in Compute Engine bereit:

  1. Öffnen Sie den Bereitstellungsassistenten durch Klicken auf Tools > Google Cloud Tools > Publish [PROJECT-NAME] to Google Cloud (Tools > Google Cloud Tools > [PROJEKTNAME] auf Google Cloud veröffentlichen).

  2. Wählen Sie Compute Engine.

  3. Wählen Sie die Windows-VM-Instanz und Anmeldeinformationen für die Bereitstellung.

    • Auf der Windows-VM muss IIS ausgeführt werden und sie muss zur Ausführung von ASP.NET 4.x-Apps, z. B. eine über den Bereitstellungsmanager erstellte ASP.NET-VM, in der Lage sein.

    • Wählen Sie Anmeldeinformationen für die Bereitstellung. Zum Erstellen von Windows-Anmeldeinformationen klicken Sie auf Manage Credentials.

  4. Klicken Sie auf Publish, um die App zu erstellen und auf der ausgewählten VM bereitzustellen.

Der Fortschritt der Bereitstellung wird im Visual Studio-Ausgabefenster angezeigt und in der Statusleiste der Visual Studio-Shell erscheint eine Fortschrittsanzeige.

ASP.NET Core-Apps bereitstellen

ASP.NET Core-Anwendungen können in einem Docker-Container ausgeführt werden. Ihre Anwendung lässt sich so in der flexiblen App Engine-Umgebung und in GKE bereitstellen.

In der flexiblen App Engine-Umgebung bereitstellen

So stellen Sie in der flexiblen Umgebung bereit:

  1. Öffnen Sie den Bereitstellungsassistenten durch Klicken auf Tools > Google Cloud Tools > Publish [PROJECT-NAME] to Google Cloud (Tools > Google Cloud Tools > [PROJEKTNAME] auf Google Cloud veröffentlichen).

  2. Wählen Sie App Engine Flex

    App Engine-Bereitstellung

  3. Geben Sie den Versionsnamen der App und Ihre Wahl für das Traffic-Management ein.

    • Der Standardversionsname beruht auf der aktuellen Systemzeit. Sie können einen anderen Namen angeben.
    • Promoting version lässt Sie wählen, ob diese App-Version den Traffic zu 100 % empfangen soll. Wenn Sie dieses Kästchen anklicken, erhält die neue Anwendung sofort nach der Bereitstellung den gesamten Traffic.
  4. Klicken Sie auf Publish (Veröffentlichen), um Ihre Anwendung in der flexiblen App Engine-Umgebung zu erstellen und bereitzustellen.

Das war's. Ihre App wird bereitgestellt und Sie können den Fortschritt im Visual Studio-Ausgabefenster verfolgen.

Benutzerdefinierte App Engine-Einstellungen können durch Erstellen einer app.yaml-Datei im Stammverzeichnis Ihres Projekts vorgenommen werden.

Sie generieren app.yaml durch Klicken mit der rechten Maustaste auf das Projekt, das bereitgestellt werden soll, und anschließende Auswahl von Generate app.yaml and Dockerfile for [PROJECT-NAME] (app.yaml und Dockerfile für [PROJEKTNAME] erstellen). Wenn das Standard-Docker-Image ausgeführt werden soll, können Sie die Dockerfile-Datei löschen.

Auf GKE bereitstellen

So stellen Sie auf GKE bereit:

  1. Öffnen Sie den Bereitstellungsassistenten durch Klicken auf Tools > Google Cloud Tools > Publish [PROJECT-NAME] to Google Cloud (Tools > Google Cloud Tools > [PROJEKTNAME] auf Google Cloud veröffentlichen).

  2. Wählen Sie Container Engine aus.

    Container Engine-Bereitstellung

  3. Wählen Sie einen Cluster für die Bereitstellung, geben Sie den Bereitstellungsnamen, die Version und die Anzahl der Replikate Ihrer App ein.

    • Zum Erstellen eines neuen Clusters klicken Sie auf Create new cluster. Dadurch gelangen Sie zur Seite für die Clustererstellung in der Google Cloud Console. Zum Anzeigen des Clusters in Visual Studio klicken Sie auf Refresh clusters (Cluster aktualisieren).

    • Der Bereitstellungsname wird beim Erstellen der Kubernetes-Bereitstellung und, sofern gewählt, des Kubernetes-Dienstes für die Ausführung der App auf dem Cluster verwendet. Wenn Sie möchten, können Sie einen anschaulicheren Namen wählen.

    • Der Standardversionsname beruht auf der aktuellen Systemzeit. Sie können einen anderen Namen angeben.
    • Die Anzahl der Repliken kann geändert werden; Standardeinstellung ist drei.

    • Sie können wählen, ob ein Kubernetes-Dienst im Internet offengelegt werden soll. Durch Offenlegen eines öffentlichen Dienstes im Internet erhalten Sie eine öffentliche IP-Adresse, die Sie für den Zugriff auf den Dienst von außerhalb Ihres Clusters verwenden können.

  4. Klicken Sie auf Publish

Das war's. Ihre App wird in einem Docker-Image verpackt und in Ihrem Container bereitgestellt. Wenn Ihre Anwendung ein bereitgestellter Dienst ist, wartet Visual Studio, bis die IP-Adresse des Dienstes verfügbar ist.