Bereitstellen einer Web-App auf einem NGINX-Webserver, der auf einem virtuellen Linux-Computer (Klassisch) ausgeführt wird

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Hinweis

Wenn Sie Ihre Anwendung mithilfe von YAML-Pipelines auf einem virtuellen Linux-Computer bereitstellen möchten, finden Sie unter Bereitstellen auf einem virtuellen Linux-Computer.

Erfahren Sie, wie Sie klassische Azure Pipelines verwenden, um Ihre Web-App auf einem virtuellen Linux-Webserver zu erstellen und bereitzustellen.

Voraussetzungen

Voraussetzungen für Linux-VM

  • Wenn Sie keine Linux-VM mit einem Nginx-Webserver haben, führen Sie die Schritte in diesem Schnellstart aus, um eine in Azure zu erstellen.

Abrufen des Codes

Wenn Sie kein Repository haben, verwenden Sie das folgende Beispielprojekt zusammen mit diesem Lernprogramm:

https://github.com/MicrosoftDocs/pipelines-javascript

Erstellen der App

Einrichten einer Bereitstellungsgruppe

Bereitstellungsgruppen erleichtern die Organisation der Server, die Sie zum Hosten Ihrer App verwenden möchten. Eine Bereitstellungsgruppe ist eine Sammlung von Computern mit einem Azure Pipelines Agent für jede dieser Computer. Jeder Computer interagiert mit Azure Pipelines, um die Bereitstellung Ihrer App zu koordinieren.

  1. Öffnen Sie eine SSH-Sitzung auf Ihrer Linux-VM. Dazu können Sie die Schaltfläche Cloud Shell oben rechts im Azure-Portal verwenden.

    A screenshot showing the azure cloud shell button

  2. Führen Sie den folgenden Befehl aus, um die Sitzung zu initiieren. Ersetzen Sie den Platzhalter durch die IP-Adresse Ihrer VM:

    ssh <publicIpAddress>
    
  3. Führen Sie den folgenden Befehl aus, um die erforderlichen Abhängigkeiten zu installieren, um den Build- und Release-Agent auf einem virtuellen Linux-Computer einzurichten. Weitere Details finden Sie unter selbst gehosteten Linux-Agents .

    sudo apt-get install -y libunwind8 libcurl3
    
  4. wählen Sie in Azure DevOps Webportal Pipelines und dann Bereitstellungsgruppen aus.

  5. Wählen Sie "Bereitstellungsgruppe hinzufügen " (oder "Neu ", wenn Sie über vorhandene Bereitstellungsgruppen verfügen).

  6. Geben Sie einen Namen für die Gruppe wie myNginx ein, und wählen Sie dann "Erstellen" aus.

  7. Wählen Sie Linux für den Zieltyp aus, der registriert werden soll, und stellen Sie sicher, dass ein persönliches Zugriffstoken im Skript für die Authentifizierung überprüft wird. Wählen Sie "Skript kopieren" in die Zwischenablage aus. Dieses Skript installiert und konfiguriert einen Agent auf Ihrer VM.

  8. Zurück in der SSH-Sitzung in Azure-Portal fügen Sie das Skript ein und führen Sie sie aus.

  9. Wenn Sie aufgefordert werden, Tags für den Agent zu konfigurieren, drücken Sie die EINGABETASTE , um zu überspringen.

  10. Warten Sie, bis das Skript fertig ist, und zeigen Sie die Nachricht "Gestartet Azure Pipelines Agent" an. Geben Sie "q" ein, um den Datei-Editor zu beenden und zur Shell-Eingabeaufforderung zurückzukehren.

  11. Öffnen Sie zurück im Azure DevOps-Portal auf der Seite "Bereitstellungsgruppen" die MyNginx-Bereitstellungsgruppe. Wählen Sie die Registerkarte "Ziele " aus, und überprüfen Sie, ob Ihre VM aufgeführt ist.

Erstellen einer Releasepipeline

  1. Wählen Sie Pipelines Releases aus, und wählen Sie dann ">Neue Pipeline" aus.

  2. Wählen Sie "Leerer Auftrag" aus.

  3. Wählen Sie "Artefakte hinzufügen " aus, um das Buildartefakt zu verknüpfen. Wählen Sie "Erstellen" aus, und wählen Sie dann ihre Project und Quelle im Dropdownmenü aus. Wenn Sie fertig sind, wählen Sie Hinzufügen aus.

  4. Wählen Sie das Symbol " Fortlaufende Bereitstellung " aus, und klicken Sie auf die Schaltfläche "Umschaltfläche", um den fortlaufenden Bereitstellungsauslöser zu aktivieren. Fügen Sie den Hauptzweig als Build-Verzweigungsfilter hinzu.

    A screenshot showing how to set up the continuous deployment trigger

  5. Wählen Sie Aufgaben aus, und wählen Sie dann den Agentauftrag aus, und entfernen Sie ihn.

    A screenshot showing how to remove the agent job

  6. Wählen Sie das Symbol "Auslassungszeichen" aus, und wählen Sie dann "Bereitstellungsgruppenauftrag hinzufügen" aus. Die Aufgaben, die Sie zu diesem Auftrag hinzufügen, werden auf jedem Server in Ihrer Bereitstellungsgruppe ausgeführt.

    A screenshot showing how to add a deployment group job

  7. Wählen Sie die zuvor erstellte Bereitstellungsgruppe im Dropdownmenü " Bereitstellungsgruppe " aus.

    A screenshot showing how to select your deployment group.

  8. Wählen Sie + aus, um einen neuen Vorgang hinzuzufügen. Suchen Sie nach Bash , und wählen Sie dann "Hinzufügen " aus, um sie ihrer Pipeline hinzuzufügen.

    A screenshot showing how to add the bash task.

  9. Wählen Sie die Schaltfläche "Durchsuchen" aus, um den Pfad Ihrer deploy.sh Skriptdatei hinzuzufügen. Hier finden Sie ein BeispielknotenJS-Bereitstellungsskript.

    A screenshot showing how to add the script path.

  10. Wählen Sie "Speichern" aus, wenn Sie fertig sind.

    A screenshot showing how to save a release pipeline.

Bereitstellen Ihrer App

  1. Wählen Sie "Versionen" aus, und wählen Sie dann "Version erstellen" aus.

  2. Stellen Sie sicher, dass die zu verwendende Artefakteversion ausgewählt ist, und wählen Sie dann "Erstellen" aus.

  3. Wählen Sie den Releaselink in der Informationsleistennachricht aus. Beispiel: " Release Release-1 wurde in die Warteschlange gestellt".

  4. Wählen Sie den Statuslink in Phasen aus, um die Bereitstellungsprotokolle anzuzeigen.

  5. Navigieren Sie nach Abschluss der Version zu Ihrer App, und überprüfen Sie ihren Inhalt.