Cet article décrit la réalisation des objectifs de l'intégration qui a pour impact de fournir des logiciels plus rapidement et sans bugs, les problèmes rencontrés et la mise à niveau proposée pour fournir un logiciel fluide et qualitatif. Les principaux objectifs sont de développer la confiance nécessaire pour modifier le code et le valider rapidement, d'être en mesure d'effectuer des mises à niveau technologiques sans aucun effort manuel et d'atteindre zéro besoin de tests manuels.
Introduction
Pendant le processus de développement, il est essentiel d'exécuter fréquemment la suite de tests de votre application Web afin de maintenir une distance stratégique par rapport à tout problème imprévu et de garantir que tout se passe bien. Cependant, il peut être difficile de ne jamais oublier d'exécuter les tests au fur et à mesure, et de plus, à mesure que votre suite de tests s'agrandit, son exécution prend de plus en plus de temps. C'est là qu'intervient un serveur d'intégration continue. Un serveur CI peut créer automatiquement votre application et exécuter des tests lorsque vous apportez des modifications. De plus, il vous avertit également de toute erreur ou échec de test. Jenkins est l'un de ces serveurs CI open source populaires sur Ubuntu 14.
Mise en place de Jenkins
Je vais configurer Jenkins, un serveur CI open source populaire sur Ubuntu 14. Je le configurerai ensuite pour exécuter les spécifications Rspec et le rapport de couverture de code d'un projet Ruby on Rails lorsqu'une modification est transmise à GitHub.
Installation de Jenkins
1. Mise à jour du système - sudo apt-get update
2. Serveur web - si un serveur web n'est pas installé sur votre système - sudo apt-get install nginx
3. Java - sudo apt-get install openjdk-7-jdk
4. wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
5. sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
6. sudo apt-get update
7. sudo apt-get install jenkins
8. sudo service jenkins restart
9. Tapez ssh-keygen dans votre système local et ajoutez la clé dans le dépôt de votre projet sur GitHub.
Configuration de Jenkins
1. Aller sur http://localhost:8080
2. Il demandera le mot de passe de l'administrateur et le récupérera dans /var/lib/jenkins/secrets/initialAdminPassword.
- sudo chmod -R 777 /var/lib/jenkins/secrets si vous n'avez pas l'autorisation d'accéder au dossier
- vi /var/lib/jenkins/secrets/initialAdminPassword
3. Pour installer les plugins requis, cliquez sur « Gérer Jenkins » puis « Gérer les plugins ». Dans l'onglet « Disponible », vérifiez les plugins suivants :
- Git
- GitHub
- RVM
- Râteau
- DocLink
- Maven
4. Ensuite, sélectionnez "Télécharger maintenant et installer après le redémarrage"
5. Configurer la sécurité globale. Naviguez à nouveau vers "Manage Jenkins" et sélectionnez "Configure Global Security". Sur cet écran, cochez "Enable Security", puis "Jenkins' own user database" sous "Security Realm". Ensuite, sélectionnez "Project-based Matrix Authorization Strategy" (Stratégie d'autorisation matricielle basée sur le projet) sous "Authorization" (Autorisation).
6. A partir de là, ajoutez les utilisateurs "admin" et "github", en vérifiant toutes les permissions pour admin et seulement "Read" pour github. Confirmez vos paramètres à l'aide de la capture d'écran ci-dessous et enregistrez les modifications.
Configuration du projet
1. Depuis la page d'accueil, cliquez sur "Nouvel élément", puis sélectionnez "Construire un projet de logiciel libre" et cliquez sur "OK".
2. Remplissez les champs "Nom du projet" et "Projet GitHub".
3. Sous "Source Code Management", sélectionnez "Git" et indiquez l'url du repo. (Si vous devez vous authentifier avec SSH, configurez-le ici).
4. Cliquez sur Exécuter la compilation dans un environnement géré par RVM et ajoutez la version rvm.
5. Dans build, sélectionnez "Execute Shell Commands" et spécifiez les commandes suivantes :
- #!/bin/bash -e
- source ~/.bashrc
- rvm utilise 2.3.0
- installation groupée
- exporter RAILS_ENV=test
- rake db: créer
- rake db: schéma: charger
- test de râteau : préparer
- spécification rspec
6. Pour être sûr de savoir quand un build échoue, configurez des notifications par email dans "Add post-build action". Configurez SMTP sur la page "Configurer le système", qui se trouve sous "Gérer Jenkins".
7. Dans les actions post-construction, sélectionnez "Publier le document" et configurez comme ci-dessous.
Tests avec Jenkins
- Sélectionnez le projet que vous souhaitez créer dans la liste des projets disponibles.
- Cliquez sur « Construire maintenant ».
- Allez dans « Build History » et cliquez sur le dernier numéro de build.
Si la build est de couleur rouge, cela signifie que la build a échoué.
- Corrigez les erreurs de configuration, le cas échéant.
- Corrigez les cas de test ayant échoué et reconstruisez.
Si le build est de couleur bleue, cela signifie que le build est réussi et que le code est prêt à être déployé.
- Cliquez sur « Rapport de couverture du code ».
- Cliquez sur le contrôleur correspondant aux cas de test que vous avez écrits.
- Vérifiez le pourcentage de couverture du code.
- Si le 100% n'est pas couvert, vérifiez les numéros de ligne et la couverture.
Les références
http://www.webascender.com/Blog/ID/522/Setting-up-Jenkins-for-GitHub-Rails-Rspec#.WG8_Lp6qq1F
RailsCarma propose des services de développement Rails depuis plus de 8 ans. Nos développeurs sont rompus à l'exécution de tous les types de Développement d'applications Ruby On Rails projets et améliorer les fonctionnalités de vos applications Ruby on Rails existantes. Contactez-nous pour en savoir plus sur nos compétences en développement et les projets sur lesquels nous avons travaillé.