Docker, comme nous le savons, est une plate-forme ouverte permettant aux développeurs et aux administrateurs système de créer, d’expédier et d’exécuter des applications distribuées, que ce soit sur des ordinateurs portables, des machines virtuelles de centre de données ou dans le cloud.
Aujourd’hui, nous allons vérifier comment configurer Jenkins pour créer des images Docker basées sur un fichier Dockerfile. Vous trouverez ci-dessous les étapes de l’utilisation de Docker dans un pipeline CI / CD, en utilisant des images comme artefact de construction pouvant être promu dans différents environnements et enfin en production.
Étape #1 : Lancez Jenkins
Actuellement, j’ai Jenkins en cours d’exécution sur le conteneur Docker, si vous faites la commande docker ps
, cela vous indiquerait l’état du conteneur.
Lance le tableau de bord de Jenkins
Étape #2: Configurez les plugins et commencez à créer des images Docker.
Notre 1ère étape consiste à configurer le plugin Docker. Chaque fois qu’une build Jenkins nécessite Docker, elle créera un « Agent Cloud » via le plugin. L’agent sera un conteneur Docker configuré pour communiquer avec notre démon Docker.Le travail de génération Jenkins utilisera ce conteneur pour exécuter la génération et créer l’image avant d’être arrêté. L’image Docker sera stockée sur le démon Docker configuré. L’image peut ensuite être poussée vers un registre Docker prêt à être déployé.
- Une fois dans le tableau de bord Jenkins, sélectionnez Gérer Jenkins à gauche.
- Sur la page de configuration, sélectionnez Gérer les plugins.
- La page Gérer les plugins vous donnera une interface à onglets. Cliquez sur Disponible pour afficher tous les plugins Jenkins qui peuvent être installés.
- À l’aide de la zone de recherche, recherchez le plugin Docker. Il existe plusieurs plugins Docker, sélectionnez plugin Docker en cochant la case.
- Sur cette page, installez le plugin Git pour obtenir le code source à partir d’un référentiel Git.
- Cliquez sur Installer sans redémarrer en bas.
- Les plugins vont maintenant être téléchargés et installés. Une fois terminé, cliquez sur le lien Retour à la page supérieure.
Une fois les plugins GIT Docker & installés, nous pouvons maintenant configurer la façon dont ils lancent les conteneurs Docker.
Produits de Amazon.in
- -17%
- Mastering Docker –
- Prix: INR 828.00
- Était: INR 999.00
- -17%
- Livraison continue avec Docker et Jenkins
- Prix: INR 829.00
- Était: INR 999.00
- Docker et Kubernetes pour les développeurs Java
- Prix: INR 828.00
- Docker sous Windows
- Prix: INR 828.00
- Docker: Opérationnel – Expédition de Conteneurs fiables en Production
- Prix: Rupture de stock
- Docker: Guide du Débutant à Démarrage rapide
- Prix: Vérifiez sur Amazon
- Docker Deep Dive
- Prix: Vérifiez sur Amazon
- Docker: 5 Livres en 1 – Guide du débutant + Conseils & Astuces + Stratégies simples & Efficaces + Meilleures pratiques & Stratégies avancées
- Prix: Vérifiez sur Amazon
- Tutoriel Git de Ry’s
- Prix: Vérifiez sur Amazon
‹ ›
La configuration serait utilisée par le plugin sur quelle image Docker utiliser l’agent et sur quel démon Docker exécuter les conteneurs et s’appuyer.Le plugin traite Docker comme un fournisseur de cloud, faisant tourner les conteneurs au fur et à mesure que la construction les nécessite.
Étape #3 : Configurez l’agent Docker
- Sur le tableau de bord Jenkins, sélectionnez Gérer Jenkins.
- Sélectionnez Configurer le système pour accéder aux paramètres principaux de Jenkins.
- En bas, il y a une liste déroulante appelée Ajouter un nouveau nuage. Sélectionnez Docker dans la liste.
- Vous pouvez maintenant configurer les options du conteneur. Définissez le nom de l’agent sur docker-agent.
- L' »URL Docker » est l’endroit où Jenkins lance le conteneur de l’agent. Dans ce cas, nous utiliserons le même démon que l’exécution de Jenkins, mais dans le scénario réel, il devrait s’agir d’une instance distincte afin qu’elle puisse évoluer.
- Utilisez la connexion de test pour vérifier que Jenkins peut parler au démon Docker. Vous devriez voir le numéro de version Docker renvoyé.
Maintenant, le plugin peut communiquer avec Docker, l’étape suivante consisterait à configurer le lancement de l’image Docker pour l’agent.
- À l’aide de la liste déroulante Images, sélectionnez Ajouter un modèle Docker.
- Pour l’image Docker, utilisez l’exemple qui contient le client Docker benhall/dind-jenkins-agent. Cette image est configurée avec un client Docker et disponible à https://hub.docker.com/r/benhall/dind-jenkins-agent/
- Pour permettre aux versions de spécifier Docker en tant qu’agent de génération, définissez une étiquette de docker-agent.
- Jenkins utilise SSH pour communiquer avec les agents. Ajoutez un nouvel ensemble de » identifiants « . Le nom d’utilisateur est jenkins et le mot de passe est jenkins.
- Enfin, développez la section Paramètres du conteneur en cliquant sur le bouton. Dans la zone de texte « Volumes », entrez /var/run/docker.chaussette: /var/run/docker.chaussette
- Cliquez sur Enregistrer.
Étape #4: Testez la configuration
Pour tester la configuration créer une nouvelle tâche à
- Sur le tableau de bord Jenkins, sélectionnez Créer de nouvelles tâches de type projet Freestyle & créer une nouvelle tâche ex.Démo de Jenkins.
- La construction dépendra de l’accès à Docker. En utilisant le « Restreindre l’endroit où ce projet peut être exécuté », nous pouvons définir l’étiquette que nous définissons de notre agent Docker configuré. Définissez « Expression d’étiquette » sur docker-agent. Vous devriez avoir une configuration de « L’étiquette est desservie par aucun nœud et 1 nuage ».
- Sélectionnez le type de référentiel en tant que Git et définissez le référentiel.J’utilise mon emplacement GIT https://github.com/karthi4india/jenkins/.
- Nous pouvons maintenant ajouter une nouvelle étape de construction en utilisant la liste déroulante. Sélectionnez Exécuter le shell.
- Dockerfile s’occupe de la construction, Jenkins n’a qu’à appeler la construction et à spécifier un nom convivial.
Étape de construction :
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images
La première commande répertorie tous les fichiers du répertoire qui sera construit. Lors de l’appel de la build docker, nous utilisons le numéro de build Jenkins comme balise d’image. Cela nous permet de versionner nos images Docker. Nous étiquetons également la version avec la dernière version.
Fichier Docker:
FROM scratch
EXPOSE 80
COPY http-server /
CMD
Sur le côté gauche, sélectionnez Construire maintenant. Vous devriez voir une génération planifiée avec un message « (en attente — En attente du prochain exécuteur disponible) ».
Jenkins lance le conteneur et s’y connecte via SSH. Parfois, cela peut prendre un moment ou deux.
Vous pouvez voir la progression en utilisant
docker logs --tail=10 jenkins
Une fois la construction terminée, vous devriez voir l’image et les balises à l’aide de la CLI Docker
docker images
Vous aimez ce post? N’oubliez pas de le partager!