Bereitstellen in App Service

Abgeschlossen

Jedes Entwicklungsteam verfügt über spezifische Anforderungen, die die Implementierung einer effizienten Bereitstellungspipeline in einem beliebigen Clouddienst erschweren können. App Service unterstützt sowohl die automatisierte als auch die manuelle Bereitstellung.

Automatisierte Bereitstellung

Die automatisierte Bereitstellung oder Continuous Deployment ist ein Prozess, der dazu dient, neue Funktionen und Fehlerkorrekturen in einem schnellen und sich wiederholenden Muster mit minimalen Auswirkungen auf die Endbenutzer zu implementieren.

Azure App Service unterstützt die automatisierte Bereitstellung von mehreren Quellcodeverwaltungssystemen als Teil einer kontinuierlichen Integrations- und Bereitstellungspipeline (CI/CD). Die folgenden Optionen sind verfügbar:

  • Azure DevOps Services: Sie können Ihren Code an Azure DevOps Services pushen, Ihren Code in der Cloud erstellen, Tests ausführen, ein Release aus dem Code generieren und schließlich Ihren Code an eine Azure-Web-App pushen.
  • GitHub: Azure unterstützt die automatische Bereitstellung direkt aus GitHub. Wenn Sie Ihr GitHub-Repository für die automatische Bereitstellung mit Azure verbinden, werden alle Änderungen, die Sie per Push in Ihren Produktionsbranch auf GitHub übertragen, automatisch für Sie bereitgestellt.
  • Bitbucket: Bitbucket wird unterstützt, obwohl GitHub und Azure DevOps häufiger verwendet und besser integriert sind.

Manuelle Bereitstellung

Ihnen stehen verschiedene Optionen zur Verfügung, um Ihren Code manuell per Push in Azure zu übertragen:

  • Git: App Service-Web-Apps verfügen über eine Git-URL, die Sie als Remoterepository hinzufügen können. Durch Push an das Remoterepository wird Ihre App bereitgestellt.
  • CLI: Dies az webapp up ist ein Feature der az Befehlszeilenschnittstelle, die Ihre App packt und bereitstellt. Im Gegensatz zu anderen Bereitstellungsmethoden können az webapp up eine neue App-Web-App für Sie erstellen.
  • ZIP-Bereitstellung: Verwenden Sie curl oder ein ähnliches HTTP-Hilfsprogramm, um eine ZIP-Datei Ihrer Anwendungsdateien an App Service zu senden.
  • FTP/S: FTP oder FTPS ist eine herkömmliche Methode, Ihren Code per Push in beliebige Hostingumgebungen wie App Service zu übertragen.

Hinweis

Der App-Dienst verwendet Kudu für Git- und zip-basierte Bereitstellungen. Kudu behandelt Dateisynchronisierungs- und Bereitstellungstrigger.

Verwenden von Bereitstellungsslots

Verwenden Sie nach Möglichkeit immer Bereitstellungsslots, wenn Sie einen neuen Produktionsbuild bereitstellen. Wenn Sie einen App Service Plan der Dienstebene Standard oder höher verwenden, können Sie Ihre App in einer Stagingumgebung bereitstellen und dann Ihre Staging- und Produktionsslots tauschen. Durch den Tauschvorgang werden die erforderlichen Workerinstanzen kontrolliert auf Ihr Produktionsniveau gebracht, wodurch Ausfallzeiten beseitigt werden.

Kontinuierliches Bereitstellen von Code

Wenn Ihr Projekt Zweigniederlassungen für Tests, QA und Staging bestimmt, sollten diese Zweige kontinuierlich in einem Staging-Slot bereitgestellt werden. Auf diese Weise können Die Beteiligten auf einfache Weise auf die bereitgestellte Verzweigung zugreifen und diese testen.

Kontinuierliches Bereitstellen von Containern

Stellen Sie für benutzerdefinierte Container aus Azure Container Registry oder anderen Containerregistrierungen das Image in einem Stagingslot bereit, und tauschen Sie in die Produktion, um Ausfallzeiten zu vermeiden. Die Automatisierung ist komplexer als die Codebereitstellung, da Sie das Image in eine Containerregistrierung pushen und das Imagetag in der „webapp“ aktualisieren müssen.

  • Erstellen Sie das Image, und kennzeichnen Sie es: Kennzeichnen Sie das Image als Teil der Buildpipeline mit der Git-Commit-ID, dem Zeitstempel oder anderen identifizierbaren Informationen. Es ist am besten, das standardmäßige "neueste" Tag nicht zu verwenden. Andernfalls ist es schwierig nachzuverfolgen, welcher Code aktuell bereitgestellt ist, was das Debuggen wesentlich erschwert.
  • Pushen Sie das markierte Image: Nachdem das Image erstellt und markiert wurde, überträgt die Pipeline das Image in die Containerregistrierung. Im nächsten Schritt pullt der Bereitstellungsslot das gekennzeichnete Image aus der Containerregistrierung.
  • Aktualisieren Sie den Bereitstellungsplatz mit dem neuen Imagetag: Wenn diese Eigenschaft aktualisiert wird, startet die Website automatisch neu und ruft das neue Containerimage ab.

Sidecar-Container

In Azure App Service können Sie bis zu neun Sidecar-Container für jede benutzerdefinierte Sidecar-Container-App hinzufügen. Sidecar-Container werden für linuxbasierte benutzerdefinierte Container-Apps unterstützt und ermöglichen die Bereitstellung zusätzlicher Dienste und Features, ohne sie eng mit Ihrem Hauptanwendungscontainer zu verkoppeln. Sie können beispielsweise Überwachungs-, Protokollierungs-, Konfigurations- und Netzwerkdienste als Sidecar-Container hinzufügen.

Sie können einen Sidecar-Container über das Deployment Center auf der Verwaltungsseite der App hinzufügen.