Partager via


Tutoriel : Mettre à l’échelle des déploiements Jenkins avec une machine virtuelle s’exécutant dans Azure

Important

Bien que de nombreux services Azure disposent de plug-ins Jenkins, la plupart de ces plug-ins ont cessé d'être pris en charge à partir du 29 février 2024. Azure CLI est le moyen actuellement recommandé d’intégrer Jenkins aux services Azure. Pour plus d’informations, consultez l’article Sur les plug-ins Jenkins pour Azure.

Ce tutoriel montre comment créer des machines virtuelles Linux dans Azure et ajouter la machine virtuelle en tant que nœud de travail à Jenkins.

Dans ce tutoriel, vous allez :

  • Créer un ordinateur agent
  • Ajouter un agent à Jenkins
  • Créer un projet freestyle Jenkins
  • Exécuter le travail sur un agent de machine virtuelle Azure

Conditions préalables

Configurer la machine virtuelle de l’agent

  1. Utilisez az group create pour créer un groupe de ressources Azure.

    az group create --name <resource_group> --location <location>
    
  2. Utilisez az vm create pour créer une machine virtuelle.

    az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
    

    Points essentiels :

    • Vous pouvez également charger votre clé SSH avec la commande --ssh-key-value <ssh_path>suivante.
  3. Installez le JDK.

    1. Connectez-vous à la machine virtuelle à l’aide d’un outil SSH.

      ssh username@123.123.123.123
      
    2. Installez le JDK avec apt. Vous pouvez également installer avec d’autres outils de gestionnaire de package tels que yum ou pacman.

      sudo apt-get install -y default-jdk
      
    3. Une fois l’installation terminée, exécutez java -version pour vérifier l’environnement Java. La sortie inclut les numéros de version associés à différentes parties du JDK.

Configurer l’URL Jenkins

Si vous utilisez JNLP, vous devez configurer l’URL Jenkins.

  1. Dans le menu, sélectionnez Gérer Jenkins.

  2. Sous Configuration du système, sélectionnez Configurer le système.

  3. Vérifiez que l’URL Jenkins est définie sur l’adresse HTTP de votre installation Jenkins . http://<your_host>.<your_domain>:8080/

  4. Cliquez sur Enregistrer.

Ajouter un agent à Jenkins

  1. Dans le menu, sélectionnez Gérer Jenkins.

  2. Sous Configuration système, sélectionnez Gérer les nœuds et les clouds.

  3. Dans le menu, sélectionnez Nouveau nœud.

  4. Entrez une valeur pour le nom du nœud.

  5. Sélectionnez Agent permanent.

  6. Cliquez sur OK.

  7. Spécifiez les valeurs les champs suivants :

    • Nom : spécifiez un nom unique qui identifie un agent au sein de la nouvelle installation Jenkins. Cette valeur peut être différente du nom d’hôte de l’agent. Toutefois, il est pratique de les rendre les deux valeurs identiques. La valeur du nom peut contenir n'importe quel caractère spécial de la liste suivante : ?*/\%!@#$^&|<>[]:;.

    • Répertoire racine distant : un agent doit avoir un répertoire dédié à Jenkins. Spécifiez le chemin d’accès à ce répertoire sur l’agent. Il est préférable d’utiliser un chemin absolu, tel que /home/azureuser/work ou c:\jenkins. Il doit s’agir d’un chemin d’accès local à l’ordinateur agent. Il n’est pas nécessaire que ce chemin soit visible à partir du maître. Si vous utilisez un chemin relatif, tel que ./jenkins-agent, le chemin d’accès est relatif au répertoire de travail fourni par la méthode Launch.

    • Étiquettes : les étiquettes sont utilisées pour regrouper des agents liés sémantiquement dans un groupe logique. Par exemple, vous pouvez définir une étiquette de UBUNTU pour tous vos agents exécutant la distribution Ubuntu de Linux.

    • Méthode de lancement : il existe deux options pour démarrer le nœud Jenkins distant : lancer des agents via SSH et Lancer l’agent via l’exécution de la commande sur le maître :

      • Lancez des agents via SSH : spécifiez les valeurs des champs suivants :

        • Hôte : adresse IP publique de machine virtuelle ou nom de domaine. Par exemple, 123.123.123.123 ou example.com.

        • Informations d’identification : sélectionnez les informations d’identification à utiliser pour la connexion à l’hôte distant. Vous pouvez également sélectionner le bouton Ajouter pour définir une nouvelle information d’identification, puis sélectionner ces nouvelles informations d’identification une fois qu’elles sont créées.

        • Stratégie de vérification de clé d’hôte : contrôle la façon dont Jenkins vérifie la clé SSH présentée par l’hôte distant lors de la connexion.

        Exemple de configuration de nœud spécifiant une méthode de lancement des agents launch via SSH.

      • Lancez l’agent via l’exécution de la commande sur le serveur principal

        • Téléchargez le fichier agent.jar à partir de https://<your_jenkins_host_name>/jnlpJars/agent.jar. Par exemple : https://localhost:8443/jnlpJars/agent.jar.

        • Charger agent.jar sur votre machine virtuelle

        • Démarrez Jenkins avec la commande ssh <node_host> java -jar <remote_agentjar_path>. Par exemple : ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

        Exemple de configuration de nœud spécifiant une méthode de lancement de l’agent Launch via l’exécution de la commande sur le maître.

  8. Cliquez sur Enregistrer.

Après avoir défini les configurations, Jenkins ajoute la machine virtuelle en tant que nouveau nœud de travail.

Exemple de machine virtuelle en tant que nouveau nœud de travail

Créer un travail dans Jenkins

  1. Dans le menu, sélectionnez Nouvel élément.

  2. Entrez demoproject1 comme nom.

  3. Sélectionnez Le projet Freestyle.

  4. Cliquez sur OK.

  5. Sous l’onglet Général, choisissez Restreindre les emplacements d'exécution du projet et tapez ubuntu dans Label Expression. Vous voyez un message confirmant que l’étiquette est traitée par la configuration cloud créée à l’étape précédente.

    Configuration d’un nouveau travail Jenkins

  6. Sous l’onglet Gestion du code source , sélectionnez Git et ajoutez l’URL suivante dans le champ URL du référentiel : https://github.com/spring-projects/spring-petclinic.git

  7. Dans l’onglet Build , sélectionnez Ajouter une étape de génération, puis appelez des cibles Maven de niveau supérieur. Entrez package dans le champ Objectifs.

  8. Cliquez sur Enregistrer.

Construire le nouveau job sur un agent de machine virtuelle Azure

  1. Sélectionnez le travail que vous avez créé à l’étape précédente.

  2. Sélectionnez Générer maintenant. Une nouvelle build est mise en file d’attente, mais ne démarre pas tant qu’une machine virtuelle de l’agent n’est pas créée dans votre abonnement Azure.

  3. Une fois la build terminée, accédez à la sortie de la console. Vous voyez que la build a été effectuée à distance sur un agent Azure.

    Sortie de la console

Étapes suivantes