GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Jenkins CI/CD dans Ubuntu Linux

Passez-vous beaucoup de temps à déployer du code dans votre infrastructure avec de nombreuses étapes et logiciels ? Ne vous inquiétez pas, vous êtes au bon endroit pour apprendre à installer Jenkins, l'outil open source le plus utilisé.

Pas un lecteur? Regardez ce didacticiel vidéo associé ! Vous ne voyez pas la vidéo ? Assurez-vous que votre bloqueur de publicités est désactivé.

Dans ce didacticiel, vous apprendrez à installer Jenkins sur une machine Ubuntu, afin de pouvoir créer et déployer du code en un clic.

Lisez la suite et commencez l'installation !

Prérequis

Cet article sera un tutoriel étape par étape. Pour suivre, assurez-vous d'avoir une machine Ubuntu. Ce tutoriel utilise Ubuntu 18.04 avec apache installé.

Installation de Java version 11 sur une machine Ubuntu

Jenkins est un outil d'intégration continue (CI) et de déploiement continu (CD), que vous pouvez exécuter dans différents conteneurs de servlets, tels que Apache tomcat ou glassfish. Mais pour cette démo, vous exécuterez Jenkins sur son serveur de conteneur de servlet Java intégré.

Il existe plusieurs implémentations Java que vous pouvez utiliser pour travailler avec Jenkins, mais OpenJDK est la plus populaire, que vous installerez et utiliserez dans ce didacticiel.

1. Connectez-vous à votre machine Ubuntu à l'aide de votre client SSH préféré.

2. Ensuite, exécutez les commandes suivantes pour créer un répertoire nommé ~/install_jenkins_demo et basculez vers ce répertoire.

mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo

3. Exécutez le apt install commande ci-dessous pour installer Java sur votre machine.

# Installing Java Version: Java SE 11 (LTS)
sudo apt install default-jdk 

4. Enfin, exécutez la commande ci-dessous pour vérifier la version de Java installée sur votre machine. Cela garantit que vous avez correctement installé Java.

# Checking the Version of Java to verify Java installation.
java -version

Installer Jenkins sur l'instance Ubuntu 18.04 LTS

Maintenant que Java est installé sur la machine Ubuntu, il est temps d'installer Jenkins sur votre machine. L'installation de Jenkins est assez similaire à la façon dont vous installez d'autres packages sur votre machine.

En supposant que vous êtes toujours connecté au client SSH :

1. Tout d'abord, exécutez le apt update commande pour mettre à jour vos packages système.

sudo apt update

2. Ensuite, exécutez le wget ci-dessous pour ajouter la clé publique Jenkins à votre système.

L'ajout de la clé publique permet au site Jenkins de télécharger le référentiel officiel Jenkins ou tout package requis.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

3. Exécutez les commandes suivantes pour ajouter le référentiel officiel Jenkins à votre système et mettre à jour votre système.

# Adding the Jenkins official repository to the system
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
# Updating the package
sudo apt-get update

4. Maintenant, exécutez la commande ci-dessous pour install le Jenkins forfait.

# Installing the Jenkins Package
sudo apt-get install Jenkins

5. Enfin, exécutez le service commande ci-dessous pour vérifier l'état du service Jenkins. # Validating the Jenkins service on ubuntu machine service jenkins status

# Validating the Jenkins service on ubuntu machine
service jenkins status

Comme vous pouvez le voir ci-dessous, le statut indique que le service Jenkins est actif .

Configurer une instance Jenkins

À présent, vous êtes à mi-chemin de l'installation réussie de Jenkins. Mais, avant de commencer à l'utiliser, vous devez le configurer avec des équipements de base. Comment? La première étape de la configuration de Jenkins consiste à déverrouiller le Jenkins nouvellement installé.

En supposant que vous êtes toujours connecté au client SSH :

1. Ouvrez votre navigateur préféré et accédez à l'adresse IP du serveur suivie du port 8080 comme jenkins-ip:8080. Après avoir accédé au lien, vous devrez déverrouiller Jenkins en fournissant le mot de passe administratif. Le mot de passe administratif est stocké dans /var/lib/jenkins/secrets/initialAdminPassword répertoire sur le serveur (deuxième étape).

2. Exécutez le cat commande ci-dessous pour ajouter le mot de passe administrateur sur votre machine à partir du /var/lib/jenkins/secrets/initialAdminPassword annuaire.

cat /var/lib/jenkins/secrets/initialAdminPassword

Comme vous pouvez le voir ci-dessous, la chaîne énorme dans la sortie est le mot de passe administrateur. Notez le mot de passe administrateur car vous en aurez besoin pour déverrouiller Jenkins (étape trois).

3. Revenez à votre navigateur Web (Déverrouiller Jenkins page) et entrez le mot de passe administrateur que vous avez noté à l'étape deux.

Une fois que vous avez déverrouillé Jenkins, votre navigateur redirige vers une page où vous personnaliserez votre instance Jenkins avec des plugins (étape quatre).

4. Sur le Personnaliser Jenkins page, cliquez sur Installer les plugins suggérés option.

Jenkins Plugin est un outil tiers qui s'intègre à Jenkins et vous permet d'effectuer des tâches telles que le plugin Git. Le plug-in Git vous permet de vous connecter au référentiel Git, d'exécuter des commandes Git, etc.

5. Remplissez les détails de l'utilisateur administrateur, comme indiqué ci-dessous, puis cliquez sur Enregistrer et continuer pour créer un utilisateur Admin. Cet utilisateur administrateur vous permet de travailler avec le tableau de bord de l'interface utilisateur Jenkins ou l'instance Jenkins.

Dès que vous appuyez sur Enregistrer et continuer, vous obtenez un écran de configuration d'instance affiché à l'étape cinq.

Par défaut, Jenkins a un utilisateur Admin créé avec un nom d'utilisateur/mot de passe (admin: admin ) mais vous offre toujours la possibilité de créer un utilisateur Admin de votre choix. Vous pouvez ignorer et continuer en tant qu'administrateur si vous ne souhaitez pas créer d'utilisateur administrateur personnalisé.

6. Enfin, cliquez sur Enregistrer et terminer pour enregistrer la configuration de l'instance.

La configuration de l'instance vous permet de spécifier l'URL Jenkins que vous souhaitez utiliser, et dans ce cas, vous utiliserez l'URL par défaut (c'est-à-dire, server-ip:8080)

Modification du port par défaut d'une instance Jenkins

Auparavant, vous avez appris que par défaut, Jenkins s'exécute sur le port 8080, ce qui est bien. Mais que se passe-t-il si vous avez besoin d'exécuter d'autres applications sur le même port, comme apache ou NGINX ? Pas de soucis! Vous pouvez modifier le port par défaut de Jenkins (8080) et exécuter l'instance Jenkins sur d'autres ports.

1. Ouvrez le fichier /etc/default/Jenkins fichier dans votre éditeur de texte préféré et modifiez le port par défaut de 8080 à 9090 et enregistrez les modifications.

2. Ensuite, exécutez la commande ci-dessous pour redémarrer Jenkins, afin que les configurations mises à jour prennent effet.

sudo systemctl restart jenkins

3. Enfin, accédez à l'URL Jenkins, mais cette fois, changez le port en 9090, comme indiqué ci-dessous.

Exécuter Jenkins en toute sécurité (HTTPS) à l'aide d'un certificat SSL

A présent, votre instance Jenkins fonctionne parfaitement sur le port 9090. Mais est-ce sécurisé ? Non ce n'est pas. Sécurisez votre instance Jenkins et évitez qu'elle ne soit compromise par des attaquants en activant un certificat SSL.

Les certificats SSL sont principalement utilisés pour effectuer des tests sur la machine locale lorsqu'aucun certificat n'est disponible auprès d'une autorité de certification externe.

Pour sécuriser votre instance Jenkins :

1. Exécutez chaque commande ci-dessous pour créer un répertoire nommé ~/certificates pour stocker les certificats et accéder à ce répertoire.

mkdir ~/certificates
cd ~/certificates

2. Ensuite, exécutez le openssl suivant commande pour générer une demande de signature de certificat (CSR) et une clé privée.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes

3. Exécutez les commandes suivantes pour créer un autre répertoire (/etc/apache2/ssl ) et déplacer les certificats du ~/certificates/ répertoire vers le /etc/apache2/ssl annuaire.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

4. Ouvrez le fichier de configuration du site Apache SSL par défaut (/etc/apache2/sites-available/default-ssl.conf ) et ajoutez les lignes ci-dessous. Assurez-vous de remplacer avec le vrai nom de votre serveur.

Dans le code ci-dessous, vous spécifiez l'emplacement (clé de certificat et fichier) où vous avez précédemment copié les certificats SSL. Aussi, pour que Jenkins redirige sur le port 9090 , vous ajouterez le ProxyPass argument et activez le ProxyPreserveHost .

ServerName 
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/

5. Exécutez maintenant chaque commande ci-dessous pour activer le module SSL, activez le site que vous avez modifié (étape quatre) et redémarrez le service Apache.

# Enable the SSL module, so you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart

6. Enfin, accédez à votre instance Jenkins, mais cette fois, en utilisant HTTPS, comme indiqué ci-dessous.

Comme vous pouvez le voir, Jenkins s'ouvre avec succès avec des connexions SSL sur le port HTTPS. Ne vous inquiétez pas si vous voyez un symbole d'avertissement indiquant Non sécurisé message. Vous recevrez cet avertissement puisque vous utilisez un certificat auto-signé (créé par vous) et non par l'autorité de certification.

Conclusion

Dans ce didacticiel, vous avez appris à installer Jenkins sur une machine Ubuntu et à vérifier que vous pouvez accéder à une instance Jenkins en toute sécurité.

Maintenant, comment comptez-vous améliorer votre jeu avec Jenkins ? Peut-être automatiser les déploiements Web ? Ou créer un pipeline Jenkins CI CD pour améliorer votre processus de développement logiciel ?


Linux
  1. Comment installer Java sur Linux

  2. Comment installer Java sur Ubuntu

  3. Comment installer Java sur Ubuntu Linux

  4. Comment installer Jenkins sous Linux

  5. Comment installer Java sur Ubuntu 22.04

Comment installer Java sur Ubuntu 18.04

Comment installer Java 14 sur Linux, Ubuntu, CentOS

Comment installer Rust sur Ubuntu Linux

Comment installer Jenkins sur Ubuntu 18.04

Comment installer Java sur Ubuntu 18.04 ?

Comment installer ClamAV sur Ubuntu Linux