[PYTHON] Bereitstellung von GitHub-Aktionen für Azure App Service

Einführung

Während der Qiita Azure-Veröffentlichungskampagne habe ich zusammengefasst, wie das GitHub-Repository in Azure bereitgestellt wird, da dies eine gute Gelegenheit ist. Mit der VS Code-Erweiterung Deploy to Azure war dies überraschend einfach.

Verfassung

Verwenden Sie GitHub für das Repository und AppService für Azure für die Bereitstellung. GitHubs Aktion wird verwendet, um GitHub mit Azure zu verknüpfen, aber im Grunde erledigt die VS Code-Erweiterung dies für Sie, sodass selbst Anfänger dies problemlos tun können.

Verfahren

  1. Erstellen Sie ein GitHub-Projekt
  2. Erstellen Sie Azure AppService-Ressourcen
  3. Erstellen Sie einen GitHub Action-Workflow
  4. Schieben Sie die Quelle

Detaillierte Vorgehensweise

1. Erstellen Sie ein GitHub-Projekt

Erstellen Sie ein GitHub-Repository. Es sind keine speziellen Einstellungen erforderlich, daher werden sie weggelassen.

2. Erstellen Sie Azure AppService-Ressourcen

Erstellen Sie eine Ressource, für die der App Service bereitgestellt werden soll. Grundsätzlich wird es im Azure-Portal erstellt.

2.1. Melden Sie sich beim Portal an und rufen Sie den App Service-Bildschirm auf.

01.png

2.2 Klicken Sie im App Service-Bildschirm auf die Schaltfläche Hinzufügen, um zum Bildschirm zum Erstellen von Ressourcen zu gelangen.

02.png

2.3 Geben Sie die Informationen ein, die zum Erstellen der Ressource erforderlich sind.

03.png

Wenn Sie es richtig erstellen können, wird ein Bildschirm wie dieser angezeigt.

04.png

3. Erstellen Sie einen GitHub Action-Workflow

Da es schwierig ist, die für Action auf GitHub verwendete Yaml-Datei manuell zu schreiben, verwenden wir die VSCode-Erweiterung.

Klonen Sie das Repository und fügen Sie die Quelle hinzu

Klonen Sie das GitHub-Repository und fügen Sie die Quelle hinzu, die Sie bereitstellen möchten.

Bereitstellung für die Azure-Installation

Wenn Sie die Erweiterung Deploy to Azure von VSCode verwenden, wird auf GitHub automatisch ein Yaml of Action generiert. Installieren Sie Deploy to Azure, da es schwierig ist, yaml von 1 zu erstellen.

05.png

Holen Sie sich das Access Token für GitHub

Holen Sie sich ein AccessToken gemäß den folgenden GitHub-Dokumenten, wie es für die Bereitstellung in Azure erforderlich ist. https://docs.github.com/ja/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token

Generieren von Yaml zur Steuerung von GitHub-Aktionen

3.1 Öffnen Sie das geklonte Verzeichnis mit VS-Code, öffnen Sie die Befehlspalette mit Strg + Umschalt + P und führen Sie den Befehl In Azure bereitstellen: CI / CD-Pipeline konfigurieren aus. 3.2. Sie werden nach dem Zugriffstoken von GitHub gefragt. Geben Sie daher das zuvor erhaltene Zugriffstoken ein. 3.3. Sie werden nach der Webdienstumgebung und dem Abonnement gefragt. Geben Sie diese ein. 3.4 Das vierte Eingabeelement sollte der Ressourcenname des in 2 erstellten Azure App-Dienstes sein. Wählen Sie ihn daher aus.

Wenn Sie bisher eingeben, sollte im geöffneten Verzeichnis `` `.github \ workflows \ workflow.yml``` angezeigt werden.

Yaml reparieren

In einigen Umgebungen sind v1-Aktionen möglicherweise nicht verfügbar. Ändern Sie daher "azure / webapps-deploy @ v1" in "azure / webapps-deploy @ v2".

4. Schieben Sie die Quelle

Alles, was Sie bisher erstellt haben, wird im GitHub-Repository angezeigt. Wenn Sie die Quelle pushen, liest Action on GitHub yaml und führt es bis zur Bereitstellung aus.

Wenn Sie den Fortschritt von Action sehen möchten, wählen Sie das Ziel-Repository von GitHub aus und klicken Sie auf die Registerkarte Actions. Der Workflow von Action wird in der Commit-Nachricht ausgeführt.

Es ist abgeschlossen, wenn es wie folgt wird.

07.png

Andere

Wenn Sie diesem Yaml Code hinzufügen, können Sie den Test auch automatisieren. Wenn der Test fehlschlägt, wird die Aktion übrigens gestoppt und nicht bereitgestellt. Das folgende Beispiel wurde hinzugefügt, wenn pytest ausgeführt wird

workflow.yml



    - name: pytest
      working-directory: .
      run: |
        pip install pytest
        pip install -r requirements.txt
        python -m pytest

abschließend

Wir haben zusammengefasst, wie Azure bereitgestellt wird. Es gibt auch eine Funktion namens DevOps-Starter in Azure, mit der Sie alles, was hier geschrieben wurde, mit der GUI ausführen können. Da die Standardeinstellung jedoch Python2 war und unnötige Dinge wie Dashboard usw. mitgeliefert wurden, habe ich diese Methode zusammengefasst, die ich nach Belieben ausführen kann. ..

Recommended Posts

Bereitstellung von GitHub-Aktionen für Azure App Service
Die Geschichte des Wechsels des Azure App Service-Websystems von Windows zu Linux
Beispiel zum Einfügen der Python Flask-Webanwendung in den Azure App Service (Webanwendung)
Stellen Sie Go-Apps mit GitHub-Aktionen für Google App Engine bereit
SSH in Azure App Service und Aktivieren von venv
So erstellen Sie einen Klon aus Github
Erstellen Sie eine Befehlszeilen-App in Python, um die Aktionen setup.py, argparse und GitHub zu verstehen
So klonen Sie ein Github-Remote-Repository von Atom
Summe von 1 bis 10
Stellen Sie Python 3.6 / Django / Postgres-Webanwendungen in Azure bereit
Die Wand beim Ändern des Django-Dienstes von Python 2.7 auf Python 3-Serie
App-Entwicklung zum Twittern in Python aus Visual Studio 2017
[Azure] Bereitstellen eines lokal erstellten ML-Modells in der Cloud
Verwendung des Azure Table-Speichers von Django (PTVS)
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Stellen Sie eine mit Streamlit erstellte Web-App für Heroku bereit