1 / 14

Sébastien Médard GIP RENATER

Serveurs d’intégration continue Jenkins et d’analyse de code Sonar couplés à la forge logicielle SourceSup. Sébastien Médard GIP RENATER. Pourquoi. SourceSup est la forge de l’Enseignement Supérieur et de la Recherche C’est une plateforme de travail collaboratif

hawa
Download Presentation

Sébastien Médard GIP RENATER

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Serveurs d’intégration continue Jenkins et d’analyse de code Sonar couplés à la forge logicielle SourceSup Sébastien Médard GIP RENATER

  2. Pourquoi • SourceSup est la forge de l’Enseignement Supérieur et de la Recherche • C’est une plateforme de travail collaboratif • Il est intéressant de collaborer aussi sur l’intégration continue et l’analyse de code

  3. Objectifs • Donner accès à un serveur d’intégration continue et un serveur d’analyse de code aux utilisateurs de SourceSup • Permettre d’authentifier les utilisateurs par la fédération Education Recherche déjà utilisée sur SourceSup • Ne pas avoir de comptes utilisateurs supplémentaires à gérer • Retrouver l’aspect public/privé des projets de SourceSup sur ces serveurs

  4. Architecture Serveur Apache Authentification via la fédération Education Recherche Transmission d’attributs utilisateurs Plugin d’authentification (Reverse proxy) Plugin d’authentification (Reverse proxy) Serveur Jenkins Serveur Sonar • Plugin Sonar modifié • Lancement d’analyses • Création des utilisateurs • Création des droits Base de données

  5. Plugin FusionForge • Développement d’un plugin FusionForge afin d’afficher les interfaces de Sonar et Jenkins • Ce plugin est disponible pour tous les projets • Activable dans la partie administration des projets, il présente un nouvel onglet sur l’interface SourceSup

  6. Accès à Jenkins • Nécessite d’être authentifié sur SourceSup via la fédération Education Recherche • Pour authentifier automatiquement l’utilisateur sur Jenkins : • Utilisation du plugin reverse proxy de Jenkins • Configuration Apache pour brancher Jenkins derrière un proxy et lui transmettre des attributs d’authentification via les entêtes des requêtes

  7. Droits sur les jobs • Job : ensemble d’opérations à effectuer séquentiellement par Jenkins • Gestion des permissions au niveau des jobs par une matrice • Par défaut, le créateur est le seul à avoir des droits sur le job • A la création le job est privé • L’administrateur du job peut compléter la matrice pour ajouter des droits à d’autres utilisateurs • Si ajout de l’utilisateur « Authenticated» / « Anonyme » dans la matrice avec les bonnes permissions, le job devient public

  8. Droits sur les jobs

  9. Analyse Sonar • Lancement d’une analyse lors de l’exécution d’un job • Deux modes pour lancer une analyse Sonar : • Via MAVEN (préciser le chemin vers pom.xml) • Via le Sonar Runner (préciser les paramètres) • Création de l’analyse sur Sonar à la fin de l’exécution • Le lanceur du job est l’administrateur de l’analyse sur Sonar • Une analyse est privée par défaut, elle peut devenir publique

  10. Permissions sur l’analyse Sonar

  11. Accès à Sonar • Nécessite d’être authentifié sur SourceSup via la fédération d’identité • Connexion automatique de l’utilisateur • Développement d’un plugin Sonar reverse proxy • Configuration Apache (semblable à celle de Jenkins) • Remplissage des droits sur l’analyse dans la base de Sonar par le plugin « Sonar » de Jenkins

  12. Accès à Sonar

  13. Conclusion • SourceSup bénéficie maintenant d’un nouvel outil • La gestion des comptes et authentification est transparente pour l’utilisateur • Il reste des ajouts à faire : • un serveur Nexus (en étude) • plusieurs serveurs Jenkins en parallèle • Des serveurs Jenkins sur différents OS

  14. Merci pour votre attention. Questions ?

More Related