Comment configurer Jenkins pour une intégration de développement continu sur CentOS 7

introduction

Code de fusion. Libération coordonnée. Détermination du statut de construction. Maintenir les mises à jour. Si vous connaissez suffisamment la frustration de ces processus pour que les mots eux-mêmes menacent de vous donner mal à la tête, vous voudrez peut-être examiner Jenkins CI.

Maintenir un projet, en particulier un projet développé simultanément par plusieurs membres de l’équipe et pouvant intégrer de nombreuses fonctions, composants, langages et environnements, est une véritable gageure - et, au pire, un exploit surhumain pour rester à flot.

Jenkins est là pour vous aider. Fondamentalement, une solution d’intégration continue - c’est-à-dire la pratique consistant à fusionner tout le code en une seule et même version centrale - Jenkins sert de siège pour les opérations de votre projet. Il peut surveiller, réguler, comparer, fusionner et gérer votre projet sous toutes ses facettes.

Jenkins fait essentiellement deux choses: une intégration automatisée et une surveillance de la construction externe. Cela signifie que cela peut grandement simplifier le processus de maintenance de votre code et garder un œil attentif sur la qualité de vos versions, vous évitant ainsi de mauvaises surprises lorsque plusieurs de vos développeurs fusionnent leur code avant qu’il ne soit prêt. .

Allons au fond des choses et apprenons exactement à quoi ressemble Jenkins et comment l’utiliser.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin des éléments suivants:

Toutes les commandes de ce didacticiel doivent être exécutées en tant qu’utilisateur non root. Si un accès root est requis pour la commande, il sera précédé de + sudo +.

Packages spécifiques au système et fichier WAR

Maintenant que vous savez ce qu’est Jenkins, vous devez comprendre comment il est distribué. Jenkins fonctionne sous Java et se présente sous la forme d’un fichier WAR - une collection de contenu connexe comprenant une application Web et destinée à être exécutée sur un serveur. Cependant, les développeurs de Jenkins étendent gentiment sa facilité d’utilisation grâce à un certain nombre de packages spécifiques au système qui permettent à Jenkins de fonctionner en tant que service contrôlé.

Un package Jenkins est disponible pour la famille de distributions Red Hat, qui comprend les systèmes d’exploitation CentOS. Cependant, CentOS 7 en particulier est une race difficile, elle nécessite donc une approche différente. Les opérations qui fonctionnent dans d’autres systèmes d’exploitation basés sur Red Hat, même dans d’autres versions de CentOS, ont tendance à fonctionner différemment dans CentOS 7, et les erreurs potentielles qui en résultent peuvent être difficiles à déboguer. Étant donné que le package Jenkins est un générique Red Hat, plutôt que d’être différencié pour CentOS, la probabilité de rencontrer des problèmes est supérieure à celle des autres systèmes d’exploitation. Pour cette raison, nous n’utilisons pas Jenkins via ce package. Cela nous laisse le fichier WAR fonctionnant sous Java, ce qui est beaucoup moins pratique, nous obligeant à le démarrer et le arrêter manuellement via Java.

Heureusement, il existe un moyen de contourner cela, et même sans package, nous pouvons travailler avec CentOS pour qu’il traite Jenkins comme un service.

Étape 1 - Installation de Jenkins

Il existe deux méthodes de base pour installer Jenkins sur CentOS: via un référentiel ou un référentiel et via le fichier WAR. L’installation à partir d’un référentiel est la méthode préférée, et c’est ce que nous allons décrire en premier.

Vous aurez besoin de Java pour exécuter Jenkins (quelle que soit la méthode). Si votre serveur n’a pas encore Java, installez-le avec:

sudo yum -y install java

En général, si vous avez besoin d’un service ou d’un outil mais que vous ne savez pas quel paquet le fournit, vous pouvez toujours vérifier en exécutant:

yum whatprovides

++ est le nom du service ou de l’outil dont vous avez besoin.

Installation depuis le repo

Exécutez ce qui suit pour télécharger Jenkins à partir du référentiel Red Hat:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

L’outil + wget + télécharge les fichiers dans le nom de fichier spécifié après l’indicateur «O» (c’est un «O» majuscule, pas un zéro).

Ensuite, importez la clé de vérification à l’aide du gestionnaire de packages RPM:

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

Enfin, installez Jenkins en lançant:

sudo yum install jenkins

C’est ça! Vous devriez maintenant pouvoir lancer Jenkins en tant que service:

sudo systemctl start jenkins.service

Une fois le service démarré, vous pouvez vérifier son statut:

sudo systemctl status jenkins.service

Cela vous donnera une lecture assez longue avec beaucoup d’informations sur la façon dont le processus a démarré et ce qu’il fait, mais si tout se passe bien, vous devriez voir deux lignes similaires à ce qui suit:

Loaded: loaded (/etc/systemd/system/jenkins.service; disabled)
Active: active (running) since Tue 2015-12-29 00:00:16 EST; 17s ago

Cela signifie que les services Jenkins ont terminé leur démarrage et sont en cours d’exécution. Vous pouvez le confirmer en visitant l’interface Web comme auparavant, à l’adresse + http: //: 8080 +.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/dashboard.png [Bienvenue à Jenkins! Le tableau de bord Jenkins.]

De même, vous pouvez arrêter le service:

sudo systemctl stop jenkins.service

ou le redémarrer:

sudo systemctl restart jenkins.service

Pour plus d’informations sur la gestion des services avec systemctl, consultez la page Comment utiliser Systemctl pour gérer les services et les unités Systemd.

Installation à partir du fichier WAR

Si vous choisissez de ne pas installer Jenkins via le référentiel pour une raison quelconque, vous pouvez obtenir les mêmes résultats en utilisant le fichier WAR, bien que cela nécessite un peu plus de travail.

Commençons par télécharger le fichier WAR Jenkins sur le serveur et exécutez-le sans fioritures pour vous assurer que les bases fonctionnent correctement, sans tracas.

La version la plus récente de Jenkins à tout moment est disponible sur le Jenkin’s mirror. Vous pouvez utiliser n’importe quel outil pour télécharger ce fichier. La méthode suivante utilise un outil de ligne de commande appelé + wget +:

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

Lorsque vous êtes prêt, lancez Jenkins via Java:

java -jar jenkins.war

Vous devriez voir une sortie dans la console indiquant que Jenkins a commencé à s’exécuter:

...
INFO: Jenkins is fully up and running
...

Vous pouvez maintenant accéder à l’interface via le navigateur (+ http: //: 8080 +).

Une fois que Jenkins a été exécuté avec succès, arrêtez le processus de sorte que vous puissiez le modifier pour lui permettre de s’exécuter en tant que service, comme indiqué à l’étape suivante. Pour mettre fin à un processus de premier plan en cours, appuyez sur + CTRL-C +.

Étape 2 - Lancer Jenkins en tant que service

Si, dans la section précédente, vous avez choisi de ne pas installer Jenkins via le référentiel et que vous avez utilisé le fichier WAR, vous ne pourrez pas encore utiliser Jenkins comme un service standard. Si vous avez utilisé le référentiel, ignorez cette étape.

Lorsque nous configurons Jenkins de la manière suivante, il fonctionnera toujours en Java, mais vous pourrez le traiter comme un service, le démarrer et l’arrêter et le laisser fonctionner en arrière-plan avec facilité. Le service fonctionnera essentiellement comme un wrapper.

Tout d’abord, assurez-vous que le fichier WAR que vous avez téléchargé est placé dans un emplacement commode pour le stockage et l’utilisation à long terme:

sudo cp jenkins.war /usr/local/bin/jenkins.war

Ensuite, allez dans votre répertoire + / etc / systemd / system / + et créez un nouveau fichier nommé + jenkins.service +. La démonstration suivante utilise l’éditeur nano, mais vous pouvez naturellement utiliser l’outil d’édition que vous souhaitez.

cd /etc/systemd/system/
sudo nano jenkins.service

Ajoutez maintenant les lignes suivantes au nouveau fichier + jenkins.service +. Dans un instant, nous verrons exactement ce que ces lignes accomplissent.

/usr/local/bin/jenkins.war

[Unit]
Description=Jenkins Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /usr/local/bin/jenkins.war
Restart=on-abort

[Install]
WantedBy=multi-user.target

Si vous avez déjà vu des fichiers de configuration (fichiers INI ou similaires), vous reconnaîtrez la structure utilisée ici. Le texte entre crochets désigne un en-tête de section. Cela signifie par exemple que + [Service] + déclare une section appelée «Service» et que toutes les assignations situées en dessous de celle-ci contiennent des informations pertinentes que le système saura ensuite trouver et relier à l’en-tête de la section.

Un fichier de configuration, celui-ci inclus, est généralement un fichier texte, ce qui signifie qu’il n’a aucune signification intrinsèque pour l’ordinateur. Au lieu de cela, le fichier texte sera analysé par un processus quelconque, qui utilisera les en-têtes et autres informations pour trouver son chemin. Pour cette raison, la manière dont un fichier de configuration donné est structuré n’a aucune importance technique, à condition que le programme qui le lit puisse comprendre ce que tout signifie.

La première section, + Unit +, ne contient que deux directives de configuration. Le premier est simplement un nom. Ce peut être le nom de votre choix, mais idéalement, il devrait en être un qui identifie de manière unique le nouveau processus. La deuxième directive indique quel service, le cas échéant, est nécessaire pour que le service actuel puisse démarrer.

Dans la section suivante, la directive + Type + vous permet de sélectionner le type de démarrage que ce service utilisera. La valeur + simple + indique que le processus indiqué dans la directive ultérieure + ExecStart + sera le processus principal du service en cours de création. En réalité, + type + n’est pas nécessaire, car + simple + est supposé lorsque le type n’est pas spécifié, mais nous le laissons pour plus de clarté.

+ User + spécifie quel utilisateur a le contrôle sur ce processus, et + Restart + est utilisé pour indiquer que, dans ce cas, si le processus se termine mais que le code de sortie implique une erreur, le service sera redémarré. Ceci est utile pour maintenir la continuité du service en cas de crash inattendu.

Comme mentionné, + ExecStart + est la directive dans laquelle nous indiquons quel processus doit devenir l’action principale du service. Cette directive représente le wrapper principal pour Jenkins - le service exécutera le fichier WAR via Java plutôt que de le traiter comme un processus de premier plan.

Enfin, dans la section + Install +, + multi -user.target + indique une cible, appelée niveau d’exécution antérieur à CentOS 7. Il fournit au système une idée des ressources pour fournir ce service et de l’intensité requise par l’utilisateur.

Une fois votre fichier créé et enregistré, vous devriez pouvoir démarrer votre nouveau service Jenkins!

Lorsque vous êtes prêt, lancez:

sudo systemctl daemon-reload

Ceci applique les modifications que vous avez apportées à cette unité (en réalité, il les applique à toutes les unités qui ont été modifiées).

Vous devriez maintenant pouvoir démarrer Jenkins en tant que service:

sudo systemctl start jenkins.service

Une fois le service démarré, vous pouvez vérifier son statut:

sudo systemctl status jenkins.service

Cela vous donnera une lecture assez longue avec beaucoup d’informations sur la façon dont le processus a démarré et ce qu’il fait, mais si tout se passe bien, vous devriez voir deux lignes similaires à ce qui suit:

Loaded: loaded (/etc/systemd/system/jenkins.service; disabled)
Active: active (running) since Tue 2015-12-29 00:00:16 EST; 17s ago

Cela signifie que les services Jenkins ont terminé leur démarrage et sont en cours d’exécution. Vous pouvez le confirmer en visitant l’interface Web comme auparavant, à l’adresse + http: //: 8080 +.

De même, vous pouvez arrêter le service:

sudo systemctl stop jenkins.service

ou le redémarrer:

sudo systemctl restart jenkins.service

Pour plus d’informations sur la gestion des services avec systemctl, consultez la page Comment utiliser Systemctl pour gérer les services et les unités Systemd.

Étape 3 - Création d’utilisateurs

Une fois que Jenkins fonctionne correctement, la prochaine étape consiste à mettre en place une sécurité efficace. A partir de maintenant, vos actions exactes dépendront en grande partie de vos objectifs pour Jenkins. Cependant, voici des directives générales sur la meilleure manière de configurer et d’utiliser Jenkins, ainsi que des exemples pour ouvrir la voie.

Jenkins fournit des paramètres pour la sécurité et la gestion des rôles, utiles pour contrôler l’accès et définir les actions de l’utilisateur. Nous allons visiter cela brièvement pour présenter ces concepts. Pour accéder à ces paramètres, revenez à l’interface Jenkins via votre navigateur une fois votre service activé (+ http: //: 8080 +). Vous verrez un menu sur la gauche - choisissez * Manage Jenkins * à partir de celui-ci. Cela vous mènera à une page contenant un certain nombre d’options pour la personnalisation. Vous pouvez également remarquer une alerte en haut: * Jenkins non sécurisé permet à tous les utilisateurs du réseau de lancer des processus en votre nom. Envisagez au moins d’activer l’authentification pour décourager les utilisations abusives *. Telle est la directive de Jenkins pour vous amener à introduire un élément de sécurité dans votre système.

image: http: //i.imgur.com/KhrN4oK.png [La page "Manage Jenkins".]

La première étape à suivre ici consiste à accéder à * Configurer la sécurité globale *, en haut de la liste des liens sur la page de gestion Jenkins. Cochez la case en regard de * Activer la sécurité * pour afficher un groupe d’options à cette fin. Il existe plusieurs moyens de configurer la sécurité sur Jenkins - vous pouvez lire l’explication détaillée dans la section Standard Security Setup de la * Utiliser la documentation Jenkins *.

La plus simple de ces options, et celle que nous allons présenter aujourd’hui, fait en sorte que Jenkins utilise sa propre base de données pour stocker les configurations utilisateur. Sous la section * Contrôle d’accès * qui apparaît lorsque nous avons coché la case, sélectionnez * La base de données des utilisateurs * de Jenkins *. En bref, les autres options consistent à lier Jenkins aux utilisateurs et groupes Unix existants, à utiliser un login à l’échelle de l’entreprise (option LDAP) ou à permettre à un servlet Java de gérer les accès. D’autres options peuvent être ajoutées via des plugins (nous en parlerons un peu plus tard).

Le fait de permettre aux nouveaux utilisateurs de s’inscrire dépend en grande partie de vos propres besoins. En général, cependant, il est rentable de limiter l’accès, et permettre aux utilisateurs de s’inscrire à leur guise peut permettre un niveau d’ouverture potentiellement dangereux. Pour limiter cela, décochez la case * Autoriser les utilisateurs à s’inscrire *. Une fois ce paramètre désactivé, seuls les administrateurs peuvent créer de nouveaux comptes. Dans quelques instants, vous fournirez des privilèges d’administration à un utilisateur que vous allez créer et nous détaillerons également l’ajout de nouveaux utilisateurs.

Sous * Autorisation *, sélectionnez l’option * Sécurité basée sur la matrice *. Cela permet d’affiner les contrôles sans recourir à des configurations complexes. Un utilisateur nommé * Anonymous * est déjà présent. Un utilisateur anonyme est une personne de n’importe où, même s’ils ne sont pas connectés. C’est pourquoi, par défaut, l’utilisateur anonyme n’a aucune capacité. S’agissant de la configuration initiale de l’instance Jenkins, vous devez accorder à cet utilisateur toutes les autorisations nécessaires: il n’y a aucun utilisateur autre qu’anonyme pour le moment, et vous n’êtes pas connecté. Désactiver les autorisations anonymes vous empêcherait effectivement d’accéder à Jenkins. du tout.

Utilisez le petit bouton à droite de la ligne * Anonymous * pour sélectionner toutes les autorisations. Ensuite, utilisez le champ * Utilisateur / groupe pour ajouter * pour spécifier un nouvel utilisateur pour lequel ajouter des autorisations. Notez que cela ne crée pas réellement un utilisateur, mais spécifie plutôt des autorisations pour l’utilisateur que vous allez créer sous peu.

Normalement, vous créez d’abord un nouvel utilisateur, puis vous en spécifiez les autorisations dans cette partie du formulaire. Puisqu’aucun utilisateur n’existe encore, vous allez configurer les autorisations, puis créer l’utilisateur.

Entrez un nom d’utilisateur et appuyez sur * Ajouter *. En raison d’un known bug, il est recommandé de conserver les noms d’utilisateur en minuscule. Donnez toutes les autorisations au nouvel utilisateur de la même manière que vous l’avez fait pour l’utilisateur anonyme. Cela met essentiellement en place un nouvel administrateur.

Lorsque vous avez terminé, appuyez sur * Appliquer * puis sur * Enregistrer *.

Vous serez automatiquement dirigé vers une page d’inscription à partir de laquelle vous pourrez créer un nouveau compte. Le nom d’utilisateur du compte que vous créez doit correspondre à celui pour lequel vous avez spécifié des autorisations précédemment:

image: http: //i.imgur.com/e0U0PKd.png [Connexion à votre instance Jenkins]

Lorsque vous avez terminé, vous devriez vous retrouver automatiquement connecté.

Revenez à la page de sécurité (* Gérer Jenkins * → * Configurer la sécurité globale *) et faites défiler jusqu’à la matrice de sécurité. Maintenant que vous avez créé un utilisateur administratif, vous pouvez restreindre les autorisations pour l’utilisateur anonyme. Désélectionnez toutes les autorisations de la ligne anonyme, puis cliquez sur * Appliquer * et * Enregistrer *. Votre nouvel utilisateur sera désormais le seul utilisateur ayant accès à Jenkins.

Si vous avez désactivé l’inscription automatique précédemment, vous devrez peut-être créer manuellement de nouveaux utilisateurs supplémentaires. Voici comment:

Retournez à la page * Manage Jenkins , faites défiler l’écran jusqu’en bas et cliquez sur * Manage Users *. Sur la gauche, vous verrez une barre latérale avec des liens. cliquez sur * Créer un utilisateur *. Entrez les informations pour le nouvel utilisateur de la même manière que vous avez créé le premier utilisateur, puis cliquez sur * Inscription *. Vous serez redirigé vers la liste des utilisateurs, qui inclura désormais le nouvel utilisateur. Cet utilisateur n’aura aucune autorisation. Vous devrez donc répéter le processus d’autorisation en accédant à * Configurer la sécurité globale *, à l’aide du champ * Utilisateur / groupe à ajouter * pour ajouter une ligne à la matrice, en spécifiant les autorisations et en cliquant sur * Appliquer. * Et enregistrer. Par souci de simplicité, si vous devez créer plusieurs utilisateurs, créez-les tous avant d’ajouter des autorisations.

Lors de la création de nouveaux utilisateurs, gardez à l’esprit que le caractère restrictif peut constituer un atout de sécurité majeur. Pour en savoir plus sur les spécificités de la sécurité basée sur la matrice, consultez la section Matrix-based Security de la page * Utiliser Jenkins * Documentation.

Généralement, l’étape suivante consiste à attribuer des rôles à vos utilisateurs, en contrôlant leurs capacités exactes. Nous n’entrerons pas dans les détails dans cet article, mais il s’agit d’un bon article sur le sujet. Veillez à enregistrer vos modifications après avoir attribué les rôles.

Étape 4 - Installation des plugins

Une fois que Jenkins est installé, configuré de manière minimale et raisonnablement sécurisé, il est temps de l’adapter à vos besoins. Comme il a été constaté lors de sa première installation, Jenkins a relativement peu de capacités. En fait, Jenkins est un credo de nombreux développeurs de logiciels: faire une chose et bien le faire. Jenkins "fait une chose" en agissant comme intermédiaire pour vos projets logiciels et "le fait bien" en fournissant des plugins.

Les plugins sont des add-ons qui permettent à Jenkins d’interagir avec une variété de logiciels extérieurs ou d’augmenter ses capacités innées. Comme dans de nombreux domaines de la configuration de Jenkins, les plug-ins que vous installez dépendront beaucoup de vos projets.

Dans le menu de gauche dans Jenkins, cliquez sur * Manage Jenkins * → * Manage Plugins. * La page sur laquelle vous vous dirigez montre les plugins déjà installés, mais qui ont besoin d’être mis à jour - vous pouvez le faire facilement en sélectionnant les plugins que vous souhaitez mettre à jour. et en cliquant sur le bouton en bas.

Si vous cliquez sur * Disponible * depuis cette page, vous serez dirigé vers une liste colossale de plugins disponibles. Évidemment, vous ne voulez pas installer tous les plugins possibles, alors la question suivante est de savoir comment sélectionner ceux dont vous aurez besoin.

Comme mentionné, votre choix en la matière dépendra de vos besoins et de vos objectifs. Heureusement, le wiki Jenkins fournit un bon aperçu des plugins par sujet.

Cette liste vaut certainement la peine d’être lue, mais quel que soit votre projet, il existe quelques plugins que vous devriez presque certainement inclure. Voici quelques exemples génériques et spécifiques:

  1. * Contrôle de la source *
    Git, SVN et Team Foundation Server sont parmi les systèmes de contrôle de source les plus courants. Tous les trois ont des plugins dans la liste de Jenkins, et d’autres existent pour les systèmes moins communs. Si vous ne savez pas ce qu’est le contrôle de code source, vous devez vraiment en savoir plus et commencer à l’intégrer à vos projets. Assurez-vous d’installer le plug-in pour votre système de contrôle de code source afin que Jenkins puisse exécuter des versions de celui-ci et contrôler les tests.

  2. * Copie d’artefact *
    Ce plugin vous permet de copier des composants entre des projets, ce qui facilite la configuration de projets similaires si vous ne disposez pas d’un véritable gestionnaire de dépendances.

  3. * Constructions simultanées d’accélérateur *
    Si plusieurs versions en cours d’exécution risquent d’entraîner un conflit (en raison de ressources partagées, etc.), vous pourrez facilement résoudre ce problème.

  4. * Visionneur de graphique de dépendance *
    Un plugin astucieux fournissant une représentation graphique des dépendances de votre projet.

  5. * Utilisation du disque Jenkins *
    Jenkins peut être assez léger, mais on ne peut pas toujours en dire autant des projets avec lesquels il s’intègre. Ce plug-in vous permet d’identifier la quantité de ressources informatiques consommée par vos tâches.

  6. * Construire des outils *
    Si votre projet est volumineux, vous utilisez probablement un gestionnaire de génération, tel que Maven ou Ant. Jenkins fournit des plugins pour beaucoup d’entre eux, à la fois pour lier leurs fonctionnalités de base et pour ajouter un contrôle sur les étapes de construction individuelles, la configuration de la projection et de nombreux autres aspects de vos constructions.

  7. * Rapports *
    Jenkins fournit ses propres rapports, mais vous pouvez étendre cette fonctionnalité à de nombreux outils de génération de rapports.

  8. * Authentification supplémentaire *
    Si les fonctionnalités de sécurité par défaut de Jenkins ne vous conviennent pas, il existe de nombreux plug-ins pour l’étendre - des connexions Google à Active Directory, en passant par de simples modifications de la sécurité existante.

En général, si votre projet nécessite un certain outil, recherchez le nom de celui-ci ou un mot-clé concernant sa fonction sur la page de liste des plug-ins du wiki. Il est fort probable qu’un tel plug-in existe. Il s’agit d’un moyen efficace de le trouver.

Une fois que vous avez sélectionné les plug-ins que vous souhaitez installer sur l’onglet * Disponible *, cliquez sur le bouton marqué * Télécharger maintenant et installez après le redémarrage *.

Maintenant que Jenkins fonctionne comme vous le souhaitez, vous pouvez commencer à l’utiliser pour renforcer l’intégration de votre projet. Les capacités de Jenkins sont presque infinies dans son domaine, mais l’exemple suivant devrait servir à montrer à la fois l’ampleur de ce que Jenkins peut faire et les débuts de la création d’un poste dans Jenkins.

Étape 5 - Création d’un projet simple

Jenkins propose de nombreuses utilisations intéressantes, et même jouer avec les paramètres peut être informatif. Pour commencer, cependant, il est utile de comprendre comment configurer une tâche de base. Suivez l’exemple de cette section pour apprendre à créer et à exécuter un travail simple.

Dans l’interface d’accueil Jenkins, sélectionnez * Nouvel élément *. Entrez un nom et sélectionnez * Projet Freestyle *.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/new_project.png [Création d’un nouveau projet dans Jenkins]

Cette page suivante vous permet de spécifier la configuration du travail. Comme vous le constaterez rapidement, un certain nombre de paramètres sont disponibles lorsque vous créez un nouveau projet. Généralement, l’un des contrôles les plus importants consiste à se connecter à un référentiel source. Aux fins de cet exemple d’introduction, nous ignorerons cette étape.

Sur cette page de configuration, vous avez également la possibilité d’ajouter des étapes de construction pour effectuer des actions supplémentaires, telles que l’exécution de scripts.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/build_step.png [Ajouter une étape de construction à un projet dans Jenkins]

Cela vous fournira une zone de texte dans laquelle vous pourrez ajouter toutes les commandes dont vous avez besoin. Utilisez-le pour exécuter diverses tâches telles que la maintenance du serveur, le contrôle de version, la lecture des paramètres système, etc.

Nous allons utiliser cette section pour exécuter un script. Encore une fois, à des fins de démonstration, nous allons garder les choses extrêmement simples.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/shell_command.png [Ajout d’une commande shell de base à un projet dans Jenkins]

Si vous le souhaitez, vous pouvez également ajouter les étapes de construction suivantes. Gardez à l’esprit que si un segment ou un script individuel échoue, toute la construction échouera.

Vous pouvez également sélectionner les actions à exécuter post-build, telles que l’envoi des résultats par courrier électronique.

Enregistrez le projet et vous serez redirigé vers sa page de présentation du projet. Vous pouvez voir ici des informations sur le projet, y compris son histoire, bien qu’il n’y en ait pas pour le moment, car il s’agit d’un tout nouveau projet.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/overview_page.png [Page de présentation du projet Jenkins]

Cliquez sur * Build Now * sur le côté gauche pour lancer la construction. Vous verrez momentanément le changement d’historique de construction pour indiquer qu’il fonctionne. Une fois terminé, l’icône d’état changera à nouveau pour vous montrer les résultats sous une forme concise.

Pour plus d’informations, cliquez sur cette construction dans la zone de l’historique de la construction, après quoi vous serez redirigé vers une page contenant un aperçu des informations de la construction:

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/build_results.png [La page de résultats de la construction de Jenkins]

Le lien * Sortie de console * de cette page est particulièrement utile pour examiner les résultats du travail en détail. Il fournit des informations sur les actions entreprises lors de la construction et affiche toutes les sorties de la console. Surtout après une construction échouée, cela peut être un endroit utile à regarder.

Si vous retournez chez Jenkins, vous verrez un aperçu de tous les projets et de leurs informations, y compris leur statut (dans ce cas, il n’ya qu’un seul):

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/status.png [Vue d’ensemble de tous les projets et de leurs statuts dans Jenkins]

Le statut est indiqué de deux manières: une icône météo (sur le tableau de bord de la page d’accueil, voir ci-dessus) et une balle colorée (sur la page du projet individuel, voir ci-dessous). L’icône météo est particulièrement utile car elle vous montre un enregistrement de plusieurs constructions dans une image.

Dans l’image ci-dessus, vous voyez des nuages, indiquant que certaines versions récentes ont réussi et que d’autres ont échoué. Si tous avaient réussi, vous verriez une image de soleil. Si toutes les constructions avaient récemment échoué, il y aurait une mauvaise icône météo.

Ces états ont des info-bulles correspondantes avec des explications sur le survol et, associées aux autres informations du graphique, couvrent l’essentiel de ce dont vous avez besoin dans une vue d’ensemble.

Vous pouvez également reconstruire le projet à partir d’ici en cliquant sur (* Build Now *).

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/build_statuses.png [Page du projet Jenkins avec les statuts de construction du projet]

Bien entendu, la mise en place d’une configuration de projet à grande échelle implique quelques étapes supplémentaires et quelques ajustements, mais il est clair que, sans trop d’efforts, vous pouvez configurer des contrôles et des contrôles très utiles et très pragmatiques pour vos projets. Explorez Jenkins et vous découvrirez rapidement qu’il s’agit d’un outil précieux.

Conclusion

Il vaut la peine de chercher d’autres tutoriels, articles et vidéos - il y en a beaucoup, et la richesse des informations rend la mise en place d’une intégration de projet avec Jenkins très facile. Les tutorials animés par l’équipe de Jenkins méritent un coup d’œil.

En particulier, combler le fossé entre les bases et les projets à part entière est un excellent moyen d’améliorer vos compétences de Jenkins. Essayez de suivre ces exemples pour faciliter cette transition.

En outre, de nombreux modèles existent pour des types de projets courants, tels que PHP applications et http://www.codementality.com/blog/setting-jenkins-template-drupal-testing- ci-budget-part-2 [Drupal], il y a donc de fortes chances pour que vous n’ayez même pas besoin de tout configurer à partir de rien. Allez-y, apprenez tout ce que vous osez à propos de Jenkins et simplifiez-vous la vie!