Jenkins.md 2,87 ko
Newer Older
dm091610's avatar
dm091610 a validé
# Installation de Jenkins

dm091610's avatar
dm091610 a validé
Pour l'installation de Jenkins, nous avons choisi d'utilser un conteneur Dockerfile qui est un fichier qui contient l'ensemble des commandes nécessaires à la création d'un conteneur Docker.
ts163424's avatar
ts163424 a validé
![Dockerfile](img/Dockerfile.txt)
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé
## Description de notre fichier Dockerfile
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé
Récupération de l'image de base de Debian
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
    FROM debian:9.1
 
dm091610's avatar
dm091610 a validé
Installation des différents packages qui seront utilisés dans notre conteneur Docker comme par exemple Git ou le JDK8 de Java qui est utilisé dans Jenkins. 
ts163424's avatar
ts163424 a validé

    RUN apt-get update
    RUN apt-get -y install wget gnupg2 default-jre openjdk-8-jdk apt-transport-https git
 
dm091610's avatar
dm091610 a validé
Pour l'installation de Jenkins, il faut d'abord récupérer la clé publique SSH. Puis, il faut ajouter l'adresse du dépôt à la fin du fichier sources.list. Une mise à jour des depôts est effectuée avant d'installer le package Jenkins.
ts163424's avatar
ts163424 a validé

    RUN wget -q -O - http://pkg.jenkins.io/debian-stable/jenkins.io.key | apt-key add -
    RUN echo 'deb http://pkg.jenkins.io/debian-stable binary/' >> /etc/apt/sources.list
    RUN apt-get update
    RUN apt-get -y install jenkins
 
dm091610's avatar
dm091610 a validé
Ensuite, nous créons le fichier init.sh qui lancera Jenkins automatiquement à chaque démarrage du conteneur.
ts163424's avatar
ts163424 a validé

    RUN echo '#!/bin/bash \nservice jenkins start \necho '-- Wait for key generation --' \nsleep 5 \ncat /var/lib/jenkins/secrets/initialAdminPassword \necho 'Unlock security and restart container whith -d' \ntail -f /dev/null' >> /init.sh
    RUN echo '#!/bin/bash \nservice jenkins start \ntail -f /dev/null' >> /init.sh
    RUN chmod 777 /init.sh
 
dm091610's avatar
dm091610 a validé
Le port 8080 est ouvert avec EXPOSE
ts163424's avatar
ts163424 a validé

    CONFIG
    USER root
    EXPOSE 8080


    CONFIG autostart

dm091610's avatar
dm091610 a validé
Enfin, le ENTRYPOINT permet au conteneur de lancer le fichier init.sh à chaque démarrage.
ts163424's avatar
ts163424 a validé

    ENTRYPOINT ["/bin/bash", "--", "/init.sh"]
ts163424's avatar
ts163424 a validé
    
dm091610's avatar
dm091610 a validé
Une fois la création du conteneur finalisé, nous créons le volume qui lui sera attribué avec la commande suivante:
ts163424's avatar
ts163424 a validé

    sudo docker volume create --name jenkins_data
    

dm091610's avatar
dm091610 a validé
Sur le terminal, nous allons lancer Jenkins avec la commande. 
ts163424's avatar
ts163424 a validé

    docker-compose up
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
![dockerComposeUp](img/dockerComposeUp.png)
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé

## Lancement de Jenkins dans le navigateur

dm091610's avatar
dm091610 a validé
Maintenant il suffit d'ouvrir notre navigateur et d'aller sur le localhost sur le port 8080. Jenkins demandera une clé et celle-ci est donnée sur le terminal. Il suffit de la copier-coller sur le site.
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
![jenkins-accueil-avant-passwd](img/jenkins-accueil-avant-passwd.png)
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé
Ensuite, nous installons les plugins souhaités, ici nous allons nous contenter des plugins suggérés.
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
![plugins](img/demarrage.png)
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé
Nous allons maintenant créer notre utilisateur.
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
![Utilisateur](img/utilisateur.png)
ts163424's avatar
ts163424 a validé

dm091610's avatar
dm091610 a validé
Cette étape conclue l’installation de Jenkins.
ts163424's avatar
ts163424 a validé

ts163424's avatar
ts163424 a validé
![jenkins-install-terminee](img/fin.png)
ts163424's avatar
ts163424 a validé


dm091610's avatar
dm091610 a validé
Section suivante → [Projet GitLab sur Jenkins] (https://www-apps.univ-lehavre.fr/forge/dm091610/Toturiel_Docker_Jenkins/edit/master/src/IntegrationJenkins.md)