Introduction à Jenkins un serveur d'intégration continue à code source ouvert

Ce que vous allez créer

Ceci est la première d'une série en deux parties sur Jenkins. La deuxième partie sera écrite par Ian Lollar car il possède la meilleure image de profil d’instructeur parmi les contributeurs de Tuts. Il a également écrit la précédente Configuration de l'intégration continue et du déploiement continu avec Jenkins (Tuts +) que vous souhaiterez peut-être également lire. Pour rappel, je participe aux discussions ci-dessous. Si vous avez une question ou une suggestion de sujet, veuillez poster un commentaire ci-dessous. Vous pouvez également me tweeter @reifman, m'envoyer un email directement ou envoyer un tweet à Ian.

Jenkins est un serveur d’intégration continue open source extensible. Il construit et teste en permanence votre logiciel et surveille l'exécution et le statut des tâches distantes, ce qui permet aux membres de l'équipe et aux utilisateurs d'obtenir plus facilement le dernier code stable..

Dans la première partie de ce didacticiel, je vais vous expliquer comment installer Jenkins et commencer. Dans la deuxième partie, Ian approfondira ses travaux, en particulier sur l’utilisation du plug-in Jenkins Workflow. Plus d'informations à ce sujet sont disponibles sur le site Web de documentation CloudBees.

Installer Jenkins

Créez votre gouttelette

Je vais vous expliquer comment installer Jenkins sur une instance Ubuntu 14.04 sur Digital Ocean. Une fois que vous êtes inscrit ou connecté à votre compte Digital Ocean, nous devons créer un nouveau droplet pour notre serveur Jenkins..

Clique le Créer une gouttelette bouton pour commencer. J'utilise jenkins.lookahead.io comme nom d'hôte. Nous pouvons utiliser la plus petite instance de gouttelette de 5 $ / mois et 512 Mo.

Vous pouvez utiliser la région la plus proche pour vous:

Ensuite, choisissez l’image Ubuntu 14.04 et cliquez sur Créer une gouttelette:

Après environ une minute, vous serez redirigé vers votre page de configuration de droplet avec son adresse IP, par exemple. 45.55.220.200:

Vous recevrez également un email avec vos identifiants de connexion:

Configurez votre enregistrement DNS

Ensuite, allez sur votre registraire de domaine et configurez un enregistrement DNS A pour que votre nom d’hôte pointe vers l’adresse IP donnée:

Accéder à votre serveur

Pour vous connecter à votre serveur, utilisez le mot de passe contenu dans l'e-mail de Digital Ocean. Vous aurez besoin d'un programme de terminal SSH:

ssh [email protected]

Ensuite, créez un utilisateur administrateur dans le groupe sudo:

adduser admin usermod -a -G administrateur sudo

Déconnectez-vous et reconnectez-vous avec l'utilisateur admin:

ssh [email protected]

Installer Jenkins

Pour mettre à jour les listes de sources Ubuntu avec Jenkins, tapez les commandes suivantes:

sudo wget -q -O - http://pkg.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' sudo apt-get update

Pour installer correctement Jenkins, j'ai eu du succès après la mise à jour de mon serveur et l'installation préalable de git:

sudo apt-get mise à jour sudo apt-get dist-mise à niveau sudo apt-get installer git sudo apt-get installer jenkins

J'ai également dû redémarrer et démarrer manuellement le service Jenkins. Votre kilométrage peut varier.

sudo redémarrer le service sudo jenkins

Ensuite, rendez-vous sur votre serveur via le port 8080, par exemple. http://jenkins.lookahead.io:8080, et vous devriez voir l'écran de démarrage Jenkins:

Commencer avec Jenkins

Passons maintenant à l'interface utilisateur de Jenkins. Sur le côté gauche de la page, vous remarquerez les menus de navigation, par exemple. Nouvel élément, Personnes, Créer une histoire, Gérer Jenkins et Lettres de créance. Il y a aussi les Construire la file d'attente et Construire le statut d'exécuteur vitres.

Gestion des informations d'identification Jenkins

Au début, Jenkins est complètement peu sûr. Configurons sa Sécurité globale du Gérer Jenkins option de menu de la barre latérale:

Cliquez sur Configurer la sécurité globale:

Puis, depuis l'écran d'accueil, s'inscrire pour créer un nouveau compte et vous reconnecter:

Puis retournez à la Configurer la sécurité globale page et décochez la case "Autoriser les utilisateurs à s'inscrire ":

Cela empêchera les visiteurs non autorisés de créer de nouveaux comptes..

Le menu du peuple

Vous pouvez gérer les comptes sur le système depuis le Personnes menu dans la barre latérale gauche:

Cliquez sur le nom de l'utilisateur. Cela chargera un autre niveau d’éléments de menu de la barre latérale gauche spécifiques à la personne sélectionnée:

Gérer les plugins

Puisque nous voudrons probablement intégrer les référentiels GitHub dans notre processus de construction à un moment donné, voici comment installer le plugin GitHub..

Clique le Gérer Jenkins lien, puis le Gérer les plugins lien. Basculer vers le Disponible onglet et recherchez le Plugin GitHub.

Dans mon installation, j'ai découvert que je devais télécharger manuellement le plugin github.hpi à partir du référentiel de code Jenkins, puis installer manuellement le plugin GitHub.. 

Depuis votre gestionnaire de plugins Jenkins, cliquez sur le bouton Avancée languette:

Faites défiler jusqu'à Upload Plugin et choisissez le github.hpi fichier:

Vous devriez voir un écran d'installation du plugin comme ceci:

Créer des éléments de projet et des exemples de construction

Nous allons maintenant créer un exemple de projet qui intègre une simple commande d'extraction et de shell du référentiel GitHub. De la page principale Jenkins, cliquez sur Nouvel article:

Tapez Test de la coquille et sélectionnez Projet Freestyle:

Après avoir cliqué D'accord, vous pouvez configurer le projet plus loin. Par exemple, j'utilise le référentiel Hello-Jenkins de Ian dans Configuration de l'intégration continue et du déploiement continu avec Jenkins (Tuts +):

Si vous faites défiler l'écran, vous pouvez également définir des options de construction et configurer un exemple de commande de shell, par exemple. la disponibilité. Alternativement, vous pouvez utiliser ceci pour exécuter tout script de construction dont vous avez besoin.

Une fois que vous avez enregistré les options, vous verrez la page du projet Jenkins, par exemple. Projet Shell Test. Il y a un menu sur le côté gauche du projet. Si vous cliquez Construire maintenant, Jenkins planifiera et construira votre projet.

le Construire l'histoire peut être vu dans le volet de gauche. Si vous cliquez sur l'un des historiques de construction, vous verrez les résultats de la construction Jenkins:

Cliquez sur Sortie de la console pour voir les résultats complets. Vous pouvez voir les résultats de la commande shell git pull et uptime:

Maintenant, vous avez un aperçu de la manière dont Jenkins projette et construit.

Autres ressources Jenkins

Si vous souhaitez suivre un didacticiel vidéo plus détaillé, consultez les projets d'intégration continue pour PHP utilisant Jenkins, Composer, PHPUnit, BitBucket et Digital Ocean:

Vous pouvez également consulter le didacticiel Jenkins de Ian: Configuration de l'intégration continue et du déploiement continu avec Jenkins (Tuts +). La documentation et le wiki du site Web Jenkins sont également assez complets.

Et après?

Ensuite, Ian vous guidera à travers l'utilisation du plugin Jenkins Workflow. Si la deuxième partie n'est pas encore disponible, consultez le didacticiel précédent de Ian, Configuration de l'intégration continue et du déploiement continu avec Jenkins (Tuts +) et le site Web de documentation du plug-in CloudBees Workflow.

N'hésitez pas à poster vos questions et commentaires ci-dessous. Vous pouvez également me tweeter @reifman, m'envoyer un email directement ou envoyer un tweet à Ian. Vous pouvez également parcourir nos pages d’instructeurs Tuts + pour d’autres tutoriels réalisés par moi-même, Jeff Reifman et Ian Lollar..

Liens connexes

  • Site Jenkins
  • Jenkins Workflow Plugin sur Github
  • Configuration de l'intégration continue et du déploiement continu avec Jenkins (Tuts +)
  • Intégration continue pour les projets PHP utilisant Jenkins, Composer, PHPUnit, BItBucket et Digital Ocean (YouTube)