L’intégration continue a été consolidée dans le développement de logiciels comme modèle essentiel dans la construction d’applications.
et ceci est principalement dû à la série d’avantages qu’il offre concernant des méthodes plus traditionnelles, parmi lesquelles nous pourrions mettre en évidence:
- temps de construction plus petit (et donc plus tard, des déploiements)
- Facilité d’exécution des tests unitaires
- économies de coûts
Cependant, malgré les outils disponibles, y compris le logiciel libre, pour effectuer une intégration continue, il n’est pas gratuit de prendre cette étape, et beaucoup moins de conserver Il.
Dans ce cas, le coût le plus élevé n’est pas directement économique, mais celui de la spécialisation, qui a un impact sur le temps requis pour l’apprentissage du domaine des différents outils qui doivent être utilisés , comme l’expérience lors de la résolution de l’incidence Plus d’habitude, ou consacrer ce qui est nécessaire pour la maintenance et les mises à jour qui permettent une infrastructure stable et sûre.
Donc, aujourd’hui, nous faisons une étape supplémentaire dans la promotion de la Devops culturelle, pour parler de ce travail fondamental comme Il est de maintenir et de configurer les outils nécessaires pour effectuer une intégration continue.
Outils nécessaires
Les outils sont nécessaires sont essentiellement deux.
principalement, une automatisation serveur, qui sera chargé d’effectuer les tâches nécessaires à la compilation du projet.
mais, et comme aujourd’hui, il ne suffit pas de développer des logiciels, mais qu’il est nécessaire de le développer avec une qualité, et en intégration continue, les tests d’unité sont également inclus, il est de plus en plus important de le compléter avec un outil d’analyse de code, qui contribuera à garantir que le produit est construit en se conformant aux exigences établies.
e Pas de place, en tant que serveur pour l’intégration continue, nous parlerons de Jenkins, pour la polyvalence offerte et la quantité de plugins disponibles pour obtenir une configuration en fonction de nos besoins.
tandis que la partie de contrôle du code, nous allons Prenez sonarquube comme référence.
Jenkins, le majordome qui construit des applications
Nous avons déjà parlé à plusieurs reprises de Jenkins et un rôle évidemment fondamental dans l’intégration continue.
Mais la plus grande utilisation de cet outil est principalement obtenue par 3 éléments:
1) Configuration du système (configuration système)
Dans cette section de la configuration, est l’endroit où il vous est doit définir les aspects de base de votre instance comme, par exemple, l’URL par laquelle l’outil est accessible.
et aussi dans cette section sera l’endroit où les données relatives à l’instance SonarQbe doivent être spécifiées que nous ont disponible.
Dans la plupart des situations, surtout si les outils appartiennent à une organisation d’entreprise, il est également essentiel qu’un jeton soit configuré, nécessaire pour pouvoir se connecter à l’instance SonarQbe sans besoin d’être public et donc vous devez mettre la sécurité à risque.
2) Configuration mondiale de l’outil (configuration mondiale de l’outil)
d’autre part, le reste des outils sera configuré. Dans cette section, et où une attention particulière doit être payée est en sections:
- Scanner Sonarqube: inclut à la fois la configuration des scanners de projet MsBuild et pour d’autres projets
- Maven: Pour utiliser l’outil de gestion et de construction de projets Java les plus utilisés
- JDK: où vous devez spécifier les différentes configurations et les installations Java pour des projets qui le nécessitent
- Docker: à Configurer et installer dans l’environnement nécessaire RIO pour la gestion de la construction et des conteneurs
3) Gestion des plugins (Gérer les plugins)
L’une des caractéristiques les plus remarquables de Jenkins est votre grande quantité de plugins disponibles qui nous permettent de développer sa polyvalence
est non seulement admirable le nombre de plugins Jenkins existants, mais la facilité d’installation.
Bien qu’il soit facile à sélectionner et à installer, il sera toujours nécessaire de savoir Le plugin, pour pouvoir valider sa compatibilité, à la fois avec l’instance de Jenkins, et avec les projets qui sont intégrés à celui-ci.
De plus, afin de configurer les outils de la section précédemment présentée, Dans de nombreux cas, il est nécessaire d’installer vos plugins respectifs: comme, par exemple, le plug-in Maven ou le plug-in Sonarqube.
Sonarqube, l’inspecteur de code
Comme nous l’avons déjà dit, l’intégration continue ne se limite pas à compiler, il inclut également des tests unitaires, un outil d’inspection de code devient donc le complément idéal .
Et lorsque nous parlons de Sonarqube, nous ne devons pas simplement faire référence à votre instance et à votre scanner sonore.
Il est également conseillé d’avoir son sonarlint dans les IDES respectives du développement de l’équipe, avec Nous pouvons éviter un bon nombre de preuves pour atteindre le référentiel, donc à sa construction à Jenkins.
Tout cela, toujours à l’esprit le but de compter avec un code propre et sûr.
Dans ce cas, la configuration nécessaire pour la synchronisation Sonar correcte Jenkins, passe par les sections suivantes:
1) Paramètres généraux
où les paramètres de l’instance Sonarquube doivent être réglé, nécessaire comme indiqué précédemment pour stables Cello dans l’instance de Jenkins
En outre, dans cette section est l’endroit où les différentes valeurs sont spécifiées pour l’analyse de code correcte d’un projet en fonction de la langue que vous utilisez.
De l’autre côté, Sonarqube dispose d’un fichier appelé Sonar Properties, dans lequel ces valeurs peuvent être définies.
2) Marketplace
Dans ce cas, Sonarqube a une grande variété de plugins. Cela nous permet d’étendre ses fonctionnalités et, comme dans le cas précédent, bien que son installation soit simple, il est nécessaire d’assurer la compatibilité et de choisir les adaptateurs appropriés pour obtenir les meilleurs résultats et gérer une instance stable et sûre.
Contactez-nous et Nous allons vous guider vers la meilleure mise en œuvre.