Jenkins est un outil open source d’intégration continue. C’est sans doute le plus connu de sa catégorie. Il est écrit en JAVA et embarque son propre serveur web. L’intégration continue apporte de nombreux avantages comme l’automatisation de taches ou encore la possibilité de délivrer une version fonctionnelle de votre application régulièrement.
Jenkins (anciennement appelé Hudson), dont la réputation n’est plus à faire, s’est formé tout un éco-système et dispose à ce jour plus de 1000 Plugins. Nous allons voir comment l’installer sur les distributions linux les plus standard avec Nginx en reverse proxy.
Centos / RedHat
1. Mise en place du repository
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
2. Installation
yum install jenkins
3. Activation du service
Pour s’assurer que le service soit démarrer au lancement du serveur :
systemctl enable jenkins
On démarre le service :
systemctl start jenkins
Debian / Ubuntu
1. Mise en place du repository
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
2. Installation
sudo apt-get update
sudo apt-get install jenkins
3. Activation du service
Pour s’assurer que le service soit démarrer au lancement du serveur :
systemctl enable jenkins
On démarre le service :
systemctl start jenkins
Mise en place du reverse proxy avec Nginx
Nous allons créer un nouveau virtual host pour notre Jenkins.
vi /etc/nginx/conf.d/jenkins.conf
et y mettre ceci :
upstream app_server { server 127.0.0.1:8080 fail_timeout=0; } server { listen 80; server_name jenkins.cloud-devops.fr; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } }
On relance le service nginx :
systemctl restart nginx
et on peut accéder à Jenkins via l’url http://jenkins.cloud-devops.fr/
Notre Jenkins est maintenant installé. Nous verrons par la suite comment le paramétrer pour