Jenkins est un serveur d'intégration continue gratuit et open source. Il est écrit en JAVA. Il peut être utilisé pour automatiser diverses tâches liées au développement de logiciels, telles que les tests de construction et le déploiement. Il prend en charge de nombreux systèmes de contrôle de version tels que git, SVN, mercurial, etc.
Dans ce tutoriel, nous allons installer Jenkins Automation Server sur le serveur CentOS 7. Nous configurerons également Nginx en tant que proxy inverse pour Jenkins.
Prérequis
- Serveur CentOS 7 minimal
- Privilèges root. Ce guide est écrit en tant qu'utilisateur root, si vous êtes connecté en tant qu'utilisateur sudo, exécutez sudo -i.
Mettre à jour le système de base
Avant d'installer un package, il est recommandé de mettre à jour les packages et le référentiel à l'aide de la commande suivante.
yum -y update
Une fois votre système mis à jour, continuez pour installer JAVA.
Installer JAVA 8
Jenkins prend en charge à la fois OpenJDK et Oracle JAVA, dans ce tutoriel, nous allons installer la dernière version d'OpenJDK sur le serveur. Exécutez la commande suivante pour installer OpenJDK sur votre serveur.
yum install java-1.8.0-openjdk
Vous pouvez maintenant vérifier la version Java à l'aide de la commande suivante.
java -version
Vous obtiendrez la sortie suivante.
[[email protected] ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Vous devrez également vérifier si la variable d'environnement JAVA_HOME est définie. Exécutez la commande suivante pour le même.
echo $JAVA_HOME
Si vous obtenez une sortie nulle ou vide, vous devrez définir manuellement la variable JAVA_HOME. Modifiez le fichier .bash_profile à l'aide de votre éditeur préféré. Dans ce tutoriel, nous utiliserons l'éditeur nano. Exécutez la commande suivante pour modifier .bash_profile à l'aide de nano.
nano ~/.bash_profile
Ajoutez maintenant les lignes suivantes à la fin du fichier.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/ export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
Maintenant, sourcez le fichier à l'aide de la commande suivante.
source ~/.bash_profile
Vous pouvez maintenant exécuter à nouveau la commande echo $JAVA_HOME pour vérifier si la variable d'environnement est définie ou non.
[[email protected] ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
Maintenant que JAVA est installé, vous pouvez poursuivre l'installation de Jenkins.
Installer Jenkins
Jenkins peut être installé directement en ajoutant le référentiel et en important la clé GPG. Ajoutez le référentiel Jenkins à votre système en exécutant la commande suivante.
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
Si vous n'avez pas installé wget, vous pouvez exécuter yum -y install wget.
Importez la clé GPG en exécutant la commande suivante.
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Une fois l'importation réussie, vous pouvez installer Jenkins en exécutant la commande suivante.
yum -y install jenkins
Jenkins est maintenant installé sur votre serveur. Tous les packages requis sont maintenant installés. Le programme d'installation a également créé un nouvel utilisateur jenkins pour exécuter le processus. Vous pouvez continuer pour démarrer le serveur.
Démarrage de Jenkins
Vous pouvez démarrer Jenkins en exécutant la commande suivante.
systemctl start jenkins
Pour arrêter Jenkins, vous pouvez exécuter la commande suivante.
systemctl stop jenkins
Vous pouvez vérifier l'état du processus en exécutant la commande suivante.
systemctl status jenkins
Installer Nginx
Au lieu d'accéder à l'application sur le port 8080, nous pouvons créer un proxy inverse pour l'application avec le serveur Web Apache ou Nginx. Dans ce tutoriel, nous allons utiliser nginx comme proxy inverse pour votre application. Désormais, nginx s'exécutera derrière le serveur proxy nginx. nginx n'est pas disponible dans le référentiel YUM par défaut. Vous devrez installer le référentiel EPEL pour installer Nginx.
yum -y install epel-release
Vous pouvez maintenant installer Nginx en exécutant :
yum -y install nginx
Créez un nouveau bloc de serveur en exécutant la commande suivante.
nano /etc/nginx/conf.d/jenkins.conf
Remplissez le fichier avec le contenu suivant. Remplacez ci.votredomaine.com par votre nom de domaine actuel.
upstream jenkins{ server 127.0.0.1:8080; } server{ listen 80; server_name ci.yourdomain.com; access_log /var/log/nginx/jenkins.access.log; error_log /var/log/nginx/jenkins.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://jenkins; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
Enregistrez le fichier et quittez l'éditeur. Vous pouvez maintenant démarrer Nginx en exécutant la commande suivante.
systemctl start nginx
Pour permettre à Nginx de démarrer automatiquement au démarrage en exécutant la commande suivante.
systemctl enable nginx
Configurer le pare-feu et SELinux
Si vous avez un pare-feu en cours d'exécution sur votre serveur, vous devrez autoriser le port 8080 et le port HTTP standard à travers le pare-feu. Exécutez la commande suivante pour ajouter les règles de pare-feu pour autoriser les ports 8080 et 80.
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
Rechargez les zones du pare-feu en exécutant :
firewall-cmd --reload
Configurez SELinux pour la configuration du proxy nginx en exécutant la commande suivante.
setsebool httpd_can_network_connect 1 -P
Configurer Jenkins
Vous pouvez maintenant accéder à l'interface Web du serveur Jenkins CI en vous rendant à l'adresse Web suivante.
http://ci.yourdomain.com
Remplacez ci.votredomaine.com par votre domaine actuel. Vous verrez l'interface suivante.
Il vous demandera votre mot de passe administrateur initial, qui est généré par le programme d'installation et stocké dans le fichier /var/lib/jenkins/secrets/initialAdminPassword. Exécutez la commande suivante pour obtenir le mot de passe administrateur initial.
cat /var/lib/jenkins/secrets/initialAdminPassword
Utilisez le mot de passe pour vous connecter et continuer.
Dans la section suivante, il vous sera demandé quels plugins vous souhaitez installer, pour les débutants, il est recommandé de choisir Installer les plugins suggérés .
Cela installera tous les plugins nécessaires pour commencer.
Sur la prochaine interface, il installera les plugins.
Vous devez maintenant créer un utilisateur administrateur pour votre tableau de bord d'administration Jenkins.
Enfin, vous serez redirigé vers le tableau de bord administratif de Jenkins.
Conclusion
Vous pouvez désormais utiliser Jenkins pour une intégration continue dans le développement de logiciels. Vous pouvez en savoir plus sur Jenkins en vous rendant sur le site Web de Jenkins.