Supposons un scénario: Après avoir validé le code sur GitHub. Je veux assurer la qualité de mon code, connaître les bugs, les vulnérabilités, les odeurs de code, etc. (analyse de code statique) pour mon code avant de construire mon code automatiquement avec Jenkins et je veux que cette activité s’exécute chaque fois que je valide du code.
Dans ce scénario pour une Inspection continue et une Intégration continue du code. Nous suivrons les meilleures pratiques en utilisant l’intégration GitHub-Jenkins-SonarQube pour ce scénario.
Débit : Dès que le développeur valide le code sur GitHub, Jenkins va récupérer / extraire le code du référentiel et effectuera une analyse de code statique à l’aide du scanner Sonar et enverra un rapport d’analyse au serveur SonarQube, puis il construira automatiquement le code du projet.
Prérequis :
- Jenkins est configuré avec GitHub avec un déclencheur de génération (dans mon cas, son SCM de sondage) si cela n’est pas fait, veuillez suivre ce tutoriel — https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- SonarQube est en cours d’exécution et vous avez la configuration du scanner sonar dans le système. Sinon, veuillez suivre le tutoriel- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
Étape 1. Ouvrez le serveur SonarQube – Allez dans Administration > cliquez sur Sécurité > Utilisateurs > Cliquez sur Jetons (image 1) > Générer un jeton avec un certain nom > Copiez le jeton (image 2), il sera utilisé dans Jenkins pour l’authentification Sonar.
Étape 2. Configurer SonarQube avec Jenkins – Accédez à Gérer Jenkins > Configurer le système > Section serveur SonarQube > Ajouter SonarQube > Nommez-le, fournissez l’URL du serveur comme http://< IP >: < port > > et jeton d’authentification copié à partir du serveur SonarQube > Appliquer et enregistrer
Étape 3. Installez le plugin SonarQube sur Jenkins. Accédez à Gérer Jenkins > Gérer les plugins > Disponibles > Recherchez l’installation du scanner SonarQube >.
Télécharger SonarScanner si vous n’avez pas https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Configurer le scanner sonar dans Jenkins : Accédez à Mange Jenkins > Configuration globale de l’outil > Faites défiler pour le scanner SonarQube > Ajouter un scanner sonar > nommez-le, décochez si vous avez déjà un sonar sinon il sera automatiquement téléchargé pour vous et la configuration de votre scanner sonar sera effectuée (dans mon cas, j’en ai déjà) > fournissez le chemin d’accès à la maison du coureur sonar comme dans l’image ci-dessous
Étape 4. Créer un Job – Nouvel élément > Nom et sélectionner un type de projet (dans mon cas, je sélectionne le projet Maven, vous pouvez également opter pour le freestyle)
Étape 5. Définissez Git sous la section SCM et utilisez ***** pour le sondage SCM sous la section Déclencheur de génération. Sous la section Environnement de construction, ajoutez l’étape pré-buid > sélectionnez Exécuter le scanner SonarQube
Étape 6. Créer un.fichier de propriétés à n’importe quel emplacement et fournir un chemin sur la tâche comme ci-dessous (je l’ai créé dans le dossier de l’espace de travail Jenkins). Ce fichier de propriétés sera spécifique au projet. Il contient certaines propriétés sonar comme le dossier à analyser, le dossier à exclure dans l’analyse, quelle est la clé de projet et bien d’autres à partir desquels vous pouvez le voir https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Sonar-scanner intérieur.les propriétés écrivent le code ci-dessous – sonar
.projectKey = github-jenkins-sonar
sonar.source=./src
Pour rester simple, je n’ai utilisé que deux propriétés (comme ci-dessus), sonar.La propriété projectKey créera un projet dans votre serveur SonarQube avec le même nom si le projet n’existe pas sinon il y ajoutera une analyse, sonar.sources définit le dossier à analyser. Vous pouvez fournir un chemin relatif depuis votre espace de travail Jenkins ou un chemin réel vers le dossier que vous souhaitez analyser.
Depuis que j’ai utilisé./src (chemin d’accès / pour Windows) cela signifie que je suis actuellement sur mon espace de travail, c’est-à-dire sur C:\Users\Amit Verma\.jenkins \workspace \Jenkins-GitHub-SonarQube emplacement et à partir de là, je fournis le chemin d’accès au dossier (src) que je veux analyser.
Étape 7. Construisez le travail. Après la construction réussie, si vous pouvez voir les journaux de construction, il vous montrera les fichiers et le dossier qu’il a analysés et après la numérisation, il a posté le rapport d’analyse sur le serveur SonarQube que vous avez intégré.
Étape 8. Dans le tableau de bord des tâches, cliquez sur l’icône sonar ou accédez au serveur Sonar cliquez sur Projets (en-tête) vous verrez un nouveau projet avec la même clé de projet que celle que vous avez donnée dans sonar-scanner.fichier de propriétés. Vous pouvez maintenant entrer dans votre projet et analyser le rapport