Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Installation jenkins : si vous n’avez pas accès à une installation Jenkins, configurez Jenkins à l’aide d’Azure CLI
Configurer la machine virtuelle de l’agent
Utilisez az group create pour créer un groupe de ressources Azure.
az group create --name <resource_group> --location <location>
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.
- Vous pouvez également charger votre clé SSH avec la commande
Installez le JDK.
Connectez-vous à la machine virtuelle à l’aide d’un outil SSH.
ssh username@123.123.123.123
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
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.
Dans le menu, sélectionnez Gérer Jenkins.
Sous Configuration du système, sélectionnez Configurer le système.
Vérifiez que l’URL Jenkins est définie sur l’adresse HTTP de votre installation Jenkins .
http://<your_host>.<your_domain>:8080/
Cliquez sur Enregistrer.
Ajouter un agent à Jenkins
Dans le menu, sélectionnez Gérer Jenkins.
Sous Configuration système, sélectionnez Gérer les nœuds et les clouds.
Dans le menu, sélectionnez Nouveau nœud.
Entrez une valeur pour le nom du nœud.
Sélectionnez Agent permanent.
Cliquez sur OK.
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
ouc:\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
ouexample.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.
Lancez l’agent via l’exécution de la commande sur le serveur principal
Téléchargez le fichier
agent.jar
à partir dehttps://<your_jenkins_host_name>/jnlpJars/agent.jar
. Par exemple :https://localhost:8443/jnlpJars/agent.jar
.Charger
agent.jar
sur votre machine virtuelleDé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
.
Cliquez sur Enregistrer.
Après avoir défini les configurations, Jenkins ajoute la machine virtuelle en tant que nouveau nœud de travail.
Créer un travail dans Jenkins
Dans le menu, sélectionnez Nouvel élément.
Entrez
demoproject1
comme nom.Sélectionnez Le projet Freestyle.
Cliquez sur OK.
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.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
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.Cliquez sur Enregistrer.
Construire le nouveau job sur un agent de machine virtuelle Azure
Sélectionnez le travail que vous avez créé à l’étape précédente.
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.
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.