GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment installer Jenkins avec Docker

Aperçu

Cet article couvrira les étapes d'installation de Jenkins avec Docker. Nous déploierons la version Jenkins LTS sur une seule machine hôte et nous utiliserons l'image Docker officielle de Jenkins à partir du hub Docker. La documentation complète de Jenkins Docker peut être consultée sur le github officiel de Jenkins.

Jenkins est un outil d'automatisation CI/CD open source bien connu et populaire. Avec de nombreux avantages qu'il offre, il peut parfois être fastidieux d'y exécuter une maintenance, car il dépend de Java pour s'exécuter. Heureusement, nous avons maintenant une version Docker de Jenkins que nous pouvons facilement déployer et qui simplifie la maintenance car Java est également inclus.

Prérequis :

Docker pré-installé et en cours d'exécution. Docker peut maintenant être installé rapidement avec le script officiel d'auto-installation du site Docker sur certaines distributions majeures (ubuntu, debian, rasbian etc…) :

curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh

Installer Jenkins avec Docker

Pour installer Jenkins avec Docker, la documentation Jenkins recommande les arguments de commande Docker suivants :

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

Cette commande docker déploiera le conteneur Jenkins avec la version LTS de Jenkins, montera un répertoire /var/jenkins_home à partir de la machine hôte (ajoutant ainsi la persistance des données à Jenkins, ce qui signifie aucune perte de données lors du redémarrage ou de la mise à jour du conteneur - ce paramètre est fortement recommandé d'ajouter ) et en exposant les ports afin que le tableau de bord Jenkins soit disponible via un navigateur Web. Le docker prendra quelques minutes pour installer, déployer et exécuter Jenkins.

Avec le montage du répertoire à partir du serveur hôte, cela permet de sauvegarder toute la configuration, les fichiers et les plugins Jenkins (ce qui est recommandé) et peut également migrer vers un autre hôte.

Accéder et configurer Jenkins

Après avoir déployé le conteneur Docker Jenkins, Docker doit démarrer immédiatement le conteneur Jenkins automatiquement et sur le terminal, la sortie doit afficher le mot de passe de déverrouillage de l'administrateur immédiatement au démarrage du conteneur. L'image ci-dessous est un exemple :

Si votre conteneur Jenkins ne démarre pas, vérifiez s'il fonctionne avec Docker et démarrez. Vous pouvez également acquérir le mot de passe de déverrouillage de l'administrateur ultérieurement.

docker ps -adocker start ${CONTAINER_ID or CONTAINER_NAME}

Pour acquérir le mot de passe de déverrouillage à partir du conteneur docker Jenkins, exécutez la commande ci-dessous. Avec cette commande, nous pouvons imprimer le mot de passe sans avoir besoin d'exécuter dans le conteneur (ou shell dans le conteneur) :

sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword

La première fois que vous accéderez au tableau de bord, vous obtiendrez la page Déverrouiller le Jenkins qui montrera où vous étiez et comment acquérir le mot de passe administrateur et déverrouiller le tableau de bord d'administration Jenkins.

 

Collez le mot de passe sur la page de déverrouillage et cliquez sur continuer.

Sur l'écran suivant sera la création du nouvel utilisateur administrateur. Il est suggéré de créer et d'utiliser le nouveau compte administrateur.

L'écran suivant - Configuration de l'instance, ici, il vous suffit de confirmer ou de mettre à jour l'URL du tableau de bord Jenkins.

Cliquez sur enregistrer et terminer et ce sera la dernière étape de la configuration.

Configuration du pare-feu

Juste au cas où, si vous avez un pare-feu en cours d'exécution (ce qui est fortement recommandé), il est nécessaire d'avoir des ports ouverts pour Jenkins, sinon vous ne pourrez pas accéder au tableau de bord d'administration de Jenkins.

UFWsudo ufw allow 2376IPTABLESsudo iptables -I INPUT -p tcp -m tcp --dport 2376 -j ACCEPTorsudo iptables -A INPUT -p tcp -m tcp --dport 2376 -j ACCEPT

Résumé

Pour résumer, nous avons montré les étapes d'installation de Jenkins avec Docker. Le déploiement de Jenkins avec Docker est une bonne solution car il réduit la maintenance au niveau de l'hôte et réduit également la nécessité d'exécuter la maintenance sur Java, car Jenkins dans Docker est livré avec Java préinstallé et configuré. En plus de cela, il y a aussi la facilité de déploiement (plutôt que d'installer manuellement Java et Jenkins sur un hôte Linux et de le mettre à jour manuellement également). Essentiellement, nous avons besoin d'une commande pour déployer Jenkins et nous pouvons y travailler immédiatement.

Même si la solution est moins exigeante en maintenance, elle peut néanmoins être gourmande en ressources (selon la taille de l'équipe, le nombre de pipelines et le type de builds à exécuter). Pour fonctionner au moins et l'utiliser pour apprendre et s'entraîner, il faut 2 Go de RAM de la machine hôte et pour une petite équipe de développement, pour fonctionner correctement et exécuter des pipelines et des compilations. Il est recommandé d'avoir au moins un hôte avec 4 Go de RAM. et processeur à 2 cœurs.

Merci pour votre temps…


Docker
  1. Comment installer Docker sur CentOS 7

  2. Comment installer WordPress avec Docker sur Ubuntu

  3. Comment installer WordPress avec Docker, un guide facile à suivre

  4. Comment installer et héberger un serveur OpenVPN avec Docker

  5. Comment installer Nextcloud avec Docker sur votre serveur Linux

Comment installer Discourse Forum avec Docker sur CentOS 8

Comment installer Docker sur Debian 11

Comment installer Sentry avec Docker sur Ubuntu 20.04

Comment installer Mailtrain sur Ubuntu 18.04 avec Docker

Comment exécuter Jenkins dans Docker à l'aide de Docker Compose avec des volumes

Comment installer Docker sur Mac