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

## Jenkins
ts163424's avatar
ts163424 a validé
Pour l'intallation de Jenkins, on a choisi d'utilser un fichier Dockerfile decrit comme suit:

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

ts163424's avatar
ts163424 a validé
    FROM debian:9.1
 
ts163424's avatar
ts163424 a validé
Installation des différents packages qui vont étre utiliser dans notre conteneur docker comme par exemple Git ou jdk8 de java qui sera 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
 
ts163424's avatar
ts163424 a validé
Pour l'installation de jenkins on commence par recupérer la clé publique ssh, on rajoute l'adresse du depots à la fin du fichier sources.list, on fait la mise à jour de nos depots puis on installe 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
 
ts163424's avatar
ts163424 a validé
On crée 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
 
ts163424's avatar
ts163424 a validé
On ouvre le port 8080 avec EXPOSE
ts163424's avatar
ts163424 a validé

    CONFIG
    USER root
    EXPOSE 8080


    CONFIG autostart

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

    ENTRYPOINT ["/bin/bash", "--", "/init.sh"]
ts163424's avatar
ts163424 a validé
    
Une fois la crétion du conteneur est finalisé, on crée le volume qui lui associé avec la commande suivante:

    sudo docker volume create --name jenkins_data
    

Maintenant on va lancer Jenkins avec la commande 

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


dm091610's avatar
dm091610 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)