GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Jenkins Automation Server avec Nginx sur CentOS 7

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.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer Nginx sur CentOS 8

  4. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  5. Comment installer WordPress avec LEMP Stack sur CentOS 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Nginx sur CentOS 6

Comment installer LetsEncrypt SSL avec Nginx sur CentOS 6

Comment installer Nginx sur CentOS 7