En tant que développeur, vous avez besoin d'un pipeline qui extrait un modèle de cloud d'automatisation à partir d'une instance de GitHub sur site à chaque fois que vous validez une modification. Vous avez besoin de ce pipeline pour déployer une application WordPress vers Amazon Web Services (AWS) EC2 ou un centre de données. Automation Pipelines appelle le modèle de cloud à partir du pipeline et en automatise l'intégration continue et la prestation continue (CICD) pour déployer votre application.

Pour créer et déclencher votre pipeline, vous avez besoin d'un modèle de cloud dans Automation Assembler.

Pour la Source du modèle de votre tâche de modèle de cloud Automation Pipelines, vous pouvez sélectionner l'une des deux options suivantes :

  • Automation Assembler en tant que contrôle de source. Dans ce cas, vous n'avez pas besoin d'un référentiel GitLab ou GitHub.
  • Contrôle de la source si vous utilisez GitLab ou GitHub pour le contrôle de la source. Dans ce cas, vous devez disposer d'un Webhook Git et déclencher le pipeline via le Webhook.

Si vous disposez d'un modèle de cloud YAML dans votre référentiel GitHub et que vous souhaitez utiliser ce modèle de cloud dans votre pipeline, voici ce que vous devez faire.

  1. Dans Automation Assembler, transférez le modèle de cloud vers votre référentiel GitHub.
  2. Dans Automation Pipelines, créez un point de terminaison Git. Créez ensuite un Webhook Git qui utilise votre point de terminaison Git et votre pipeline.
  3. Pour déclencher votre pipeline, mettez à jour tous les fichiers de votre référentiel GitHub et validez votre modification.

Si vous ne disposez pas d'un modèle de cloud YAML dans votre référentiel GitHub et que vous souhaitez utiliser un modèle de cloud à partir du contrôle de la source, suivez cette procédure pour en savoir plus. Elle contient des informations à propos de la création d'un modèle de cloud pour une application WordPress et son déclenchement à partir d'un référentiel GitHub sur site. Chaque fois que vous apportez une modification au modèle de cloud YAML, le pipeline déclenche et automatise la version de votre application.

  • Dans Automation Assembler, vous devez ajouter un compte de cloud, ajoutez une zone de cloud et créez le modèle de cloud.
  • Dans Automation Pipelines, vous devez ajouter un point de terminaison pour le référentiel GitHub sur site qui héberge le modèle de cloud. Ensuite, vous devez ajouter le modèle de cloud à votre pipeline.

Cet exemple de cas d'utilisation vous montre comment utiliser un modèle de cloud à partir d'un référentiel GitHub sur site.

Le workflow vous aide à naviguer dans le processus qui automatise la publication d'une application que vous déployez à partir d'un modèle de cloud YAML.

Conditions préalables

  • Ajoutez le code YAML de l'application WordPress à votre instance GitHub.
  • Ajoutez un Webhook pour le déclencheur Git afin que votre pipeline puisse extraire votre code YAML chaque fois que validez des modifications. Dans Automation Pipelines, cliquez sur Déclencheurs > Git > Webhooks pour Git.
  • Pour utiliser une tâche de modèle de cloud, vous devez disposer de l'un des rôles Automation Assembler.

Procédure

  1. Dans Automation Assembler, procédez comme suit.
    1. Cliquez sur Modèles, puis créez un modèle de cloud et un déploiement pour l'application WordPress.
    2. Collez le code YAML WordPress que vous avez copié dans votre Presse-papiers dans votre modèle de cloud et déployez-le.
      À l'aide du code YAML, le modèle de cloud crée le niveau de base de données, le niveau Web et le réseau dans votre déploiement.
  2. Dans Automation Pipelines, créez des points de terminaison.
    1. Créez un point de terminaison Git pour votre référentiel GitHub sur site, dans lequel se trouve votre fichier YAML.
    2. Ajoutez un point de terminaison E-mail pouvant informer les utilisateurs de l'état du pipeline lors de son exécution.


      Lorsque vous ajoutez un point de terminaison E-mail, vous définissez la méthode de chiffrement et le protocole sortant.
  3. Créez un pipeline et ajoutez des notifications de réussite et d'échec de pipeline.

    Lorsque vous ajoutez une notification par e-mail, vous sélectionnez l'un des états de pipeline, et sélectionnez le serveur de messagerie et les destinataires.
  4. Ajoutez une étape pour le déploiement et ajoutez une tâche de modèle de cloud.
    1. Ajoutez une tâche de modèle de cloud qui déploie la machine et configurez-la pour utiliser le fichier YAML du modèle de cloud pour l'application WordPress.
      resources:
        DBTier:    
          type: Cloud.Machine    
          properties:      
              name: mysql      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  -   tag: zone:dev
        WebTier:
          type: Cloud.Machine    
          properties:     
              name: wordpress      
              image: 'ubuntu-16'      
              flavor: 'small'      
              constraints:        
                  - tag: zone:dev
       WP-Network-Private:
          type: Cloud.Network
          properties:
              name: WP-Network-Private
              networkType: existing
              constraints:
                  - tag: 'type:isolated-net'
                  - tag: 'zone:dev'
    2. Ajoutez une tâche de modèle de cloud qui détruit la machine pour libérer des ressources.
  5. Ajoutez une étape pour la production et incluez des tâches d'approbation et de déploiement.
    1. Ajoutez une tâche d'opération utilisateur pour exiger une approbation pour le processus de production de l'application WordPress.
    2. Ajoutez une tâche de modèle de cloud pour déployer la machine et configurez-la avec le fichier YAML du modèle de cloud pour l'application WordPress.
      Lorsque vous sélectionnez Créer, le nom du déploiement doit être unique. Si vous ne renseignez pas ce champ, Automation Pipelines lui attribuera un nom aléatoire unique.
      Voici ce que vous devez savoir si vous sélectionnez Restaurer dans votre cas d'utilisation : si vous sélectionnez l'action Restaurer et que vous entrez une Version de restauration, la version doit être au format n-X. Par exemple, n-1, n-2, n-3, etc. Si vous créez et mettez à jour le déploiement dans un emplacement autre que Automation Pipelines, la restauration est autorisée.
      La tâche de modèle de cloud peut utiliser un modèle de VMware Cloud dans Automation Assembler ou en extraire un à partir du contrôle de source dans un référentiel GitLab ou un référentiel GitHub.
  6. Exécutez le pipeline.

    Pour vérifier que chaque tâche s'est terminée avec succès, cliquez sur la tâche dans l'exécution et vérifiez l'état dans les détails du déploiement pour afficher des informations détaillées sur les ressources.

  7. Dans GitHub, redéfinissez le type de l'instance du serveur WordPress, small, sur medium.
    Lorsque vous validez des modifications, le pipeline se déclenche. Il extrait le code mis à jour à partir du référentiel GitHub et crée votre application.
    WebTier:
        type: Cloud.Machine    
        properties:     
            name: wordpress      
            image: 'ubuntu-16'      
            flavor: 'medium'      
            constraints:        
                - tag: zone:dev
  8. Exécutez à nouveau le pipeline, vérifiez qu'il a abouti et qu'il a redéfini le type de l'instance de WordPress, petit, sur moyen.

Résultats

Félicitations ! Vous avez automatisé la publication de votre application déployée à partir d'un modèle de cloud YAML.

Que faire ensuite

Pour plus d'informations sur l'utilisation de Automation Pipelines, reportez-vous à la section Didacticiels d'utilisation de Automation Pipelines.

Pour plus d'informations, reportez-vous aux ressources supplémentaires sous Prise en main de VMware Aria Automation.