Déployer des modèles ARM dans le cadre de vos efforts CI/CD avec GitHub Actions

Effectué

GitHub Actions permet à votre équipe d’être agile et compétitive sur le marché actuel. Les actions vous aident à automatiser vos tâches pour le développement du système ou le cycle de développement de la solution.

Supposons que vous et votre équipe développiez une solution qui requiert un nombre important de ressources dans un environnement Azure. Vous devez vous assurer que la solution peut être déployée rapidement et automatiquement dans le cadre d’un pipeline d’intégration continue et de livraison continue (CI/CD). De cette manière, vous pouvez automatiser la création et la destruction de l’infrastructure du projet. En incluant la gestion des ressources dans votre pipeline CI/CD, vous adoptez une infrastructure en tant que code (IaC) pour automatiser les tâches informatiques.

Les pipelines CI/CD appropriés vous permettent également d’inclure une étape de test dans vos tâches de déploiement en utilisant des outils tels que la boîte à outils de test de modèle Azure Resource Manager (ARM) (arm-ttk en abrégé). Pour plus d’informations sur cette boîte à outils, consultez Valider vos déploiements en utilisant la simulation et la boîte à outils de test.

Il est judicieux d’inclure des tests dans votre pipeline pour pouvoir vous concentrer sur la création. La boîte à outils arm-ttk exécute une série de tests pour valider votre modèle durant le déploiement afin d’éviter les problèmes.

Plusieurs outils sont disponibles pour vous aider à atteindre ces objectifs. Étant donné que vous utilisez déjà GitHub pour votre dépôt de code, vous décidez d’étudier GitHub Actions pour voir si l’automatisation proposée répond à vos besoins.

Ce module vous présente GitHub Actions comme un moyen de déployer vos modèles ARM.

Qu’est-ce que GitHub Actions ?

GitHub Actions est un ensemble de scripts empaquetés permettant d’automatiser les tâches d’un workflow de développement dans GitHub.

GitHub Actions vous permet de créer des workflows de cycle de vie de développement logiciel personnalisés directement dans votre dépôt GitHub où vos modèles ARM sont stockés. Un workflow est défini par un fichier YAML.

Les workflows comportent un ou plusieurs travaux. Chaque travail contient un ensemble d’étapes qui exécutent des tâches individuelles. Les étapes peuvent exécuter des commandes ou utiliser une action. Vous pouvez créer vos propres actions ou utiliser des actions partagées par la communauté GitHub et les personnaliser selon vos besoins.

Un workflow de base pour déployer un modèle ARM peut comporter au moins trois étapes :

  1. Validez un modèle de modèle.
  2. Connectez-vous à Azure.
  3. Déployez le modèle.

L’action de connexion Azure utilise un principal de service pour s’authentifier auprès d’Azure. Le principal d’un workflow CI/CD a besoin du droit de contributeur intégré pour déployer des ressources Azure.