[PYTHON] Déployer à partir d'actions GitHub vers Azure App Service

introduction

Au cours de la campagne de publication Qiita Azure, j'ai résumé comment déployer le référentiel GitHub sur Azure car c'est une bonne opportunité. C'était étonnamment facile avec l'extension VS Code Deploy to Azure.

Constitution

Utilisez GitHub pour le référentiel et AppService pour Azure pour le déploiement. L'action de GitHub est utilisée pour lier GitHub à Azure, mais en gros, l'extension VS Code le fait pour vous, de sorte que même les débutants peuvent le faire facilement.

procédure

  1. Créez un projet GitHub
  2. Créer des ressources Azure AppService
  3. Créez un workflow d'action GitHub
  4. Poussez la source

Procédure détaillée

1. Créez un projet GitHub

Créez un référentiel GitHub. Aucun paramètre spécial n'est requis, ils seront donc omis.

2. Créer des ressources Azure AppService

Créez une ressource pour le déploiement de l'AppService. Fondamentalement, il sera créé dans le portail Azure.

2.1 Connectez-vous au portail et accédez à l'écran App Service.

01.png

2.2. Cliquez sur le bouton Ajouter de l'écran AppService pour passer à l'écran de création de ressources.

02.png

2.3. Entrez les informations requises pour créer la ressource.

03.png

Si vous pouvez le créer correctement, un écran comme celui-ci s'affichera.

04.png

3. Créez un workflow d'action GitHub

Comme il est difficile d'écrire manuellement le fichier yaml utilisé pour Action sur GitHub, nous utiliserons l'extension VSCode.

Clonez le référentiel et ajoutez la source

Clonez le référentiel GitHub et ajoutez la source que vous souhaitez déployer.

Déployer sur l'installation Azure

Si vous utilisez l'extension Deploy to Azure de VSCode, elle générera automatiquement un yaml d'action sur GitHub. Comme il est difficile de créer yaml à partir de zéro, installez Deploy to Azure.

05.png

Obtenir un jeton d'accès pour GitHub

Obtenez un AccessToken selon les documents GitHub ci-dessous, car il est requis pour le déploiement sur Azure. https://docs.github.com/ja/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token

Générer yaml pour contrôler les actions GitHub

3.1. Ouvrez le répertoire cloné avec VS Code, ouvrez la palette de commandes avec Ctr + Shift + P et exécutez la commande Déployer vers Azure: Configurer CI / CD Pipeline. 3.2. On vous demandera le jeton d'accès de GitHub, alors entrez le jeton d'accès que vous avez obtenu à l'avance. 3.3. L'environnement et l'abonnement au service Web vous seront demandés, saisissez-le. 3.4. Le quatrième élément d'entrée doit être le nom de ressource de Azure App Service créé en 2, alors sélectionnez-le.

Si vous entrez jusqu'à présent, vous devriez voir .github \ workflows \ workflow.yml``` dans le répertoire ouvert.

réparer yaml

Selon l'environnement, les actions v1 peuvent ne pas être disponibles, alors modifiez azure / webapps-deploy @ v1 en azure / webapps-deploy @ v2.

4. Poussez la source

Tout ce que vous avez créé jusqu'à présent sera reflété dans le référentiel GitHub. Au moment de pousser la source, Action de GitHub lira yaml et l'exécutera jusqu'au déploiement.

Si vous souhaitez voir la progression de l'action, sélectionnez le référentiel cible de GitHub, cliquez sur l'onglet Actions et le flux de travail Action s'exécute avec un message de validation.

Il est terminé lorsqu'il devient comme suit.

07.png

Autre

Si vous ajoutez du code à ce yaml, vous pouvez également automatiser le test. En passant, si le test échoue, l'action s'arrêtera et elle ne sera pas déployée. Voici un exemple ajouté lors de l'exécution de pytest

workflow.yml



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

en conclusion

Nous avons résumé comment déployer Azure. Il existe également une fonction appelée DevOps starter dans Azure qui vous permet de faire tout ce qui est écrit ici avec l'interface graphique, mais comme la valeur par défaut était python2 et que des éléments inutiles tels que le tableau de bord, etc. l'accompagnaient, j'ai résumé cette méthode que je peux faire comme j'aime. ..

Recommended Posts

Déployer à partir d'actions GitHub vers Azure App Service
L'histoire du passage du système Web Azure App Service de Windows à Linux
Exemple pour mettre l'application Web Python Flask sur Azure App Service (Web App)
Déployer des applications Go sur Google App Engine avec des actions GitHub
Comment SSH dans Azure App Service et activer venv
Comment créer un clone depuis Github
Créez une application de ligne de commande en Python pour comprendre les actions setup.py, argparse et GitHub
Comment cloner un référentiel distant Github depuis Atom
Somme de 1 à 10
Déployer des applications Web Python 3.6 / Django / Postgres sur Azure
Le mur lors du passage du service Django de Python 2.7 à la série Python 3
Développement d'applications pour tweeter en Python à partir de Visual Studio 2017
[Azure] Déployer le modèle ML créé localement dans le cloud
Comment utiliser le stockage Azure Table de Django (PTVS)
Étapes de l'installation de Python 3 à la création d'une application Django
Déployer l'application Django créée avec PTVS sur Azure
Déployer une application Web créée avec Streamlit sur Heroku