La gestion du code source ou SCM fait référence au système de contrôle de version (VCS) qui est utilisé pour gérer le code source d'un projet. Jenkins prend en charge plusieurs systèmes SCM, notamment Git, Subversion, Mercurial et bien d'autres.
Pendant la configuration du projet, nous pouvons spécifier le référentiel SCM où le code source du projet est stocké. Jenkins vérifie ensuite périodiquement le référentiel des modifications. S'il détecte de nouveaux engins ou mises à jour, il déclenche automatiquement une construction de projet.
Dans un JenkinsFile, nous pouvons définir l'étape SCM de paiement pour récupérer le code source du pipeline du référentiel SCM spécifié. Cette étape est généralement la première étape d'un Jenkinsfile, garantissant que le code source est disponible pour le reste du pipeline.
Plugin Jenkins SCM Step
Le plugin Jenkins SCM Step permet aux pipelines Jenkins d'utiliser les plugins Jenkins SCM standard pour consulter le code source à partir d'une source SCM. Cela offre des options de contrôle extensibles, spécifiant les différentes sources SCM, les branches spécifiques et plus.
Pour utiliser ce plugin, vous devez l'installer sur votre contrôleur Jenkins. Ouvrez le tableau de bord Jenkins et sélectionnez «Gérer Jenkins» dans le menu de gauche. Accédez à la page Gérer les plugins -> Plugins disponibles et recherchez «étape SCM».
Utilisation de l'étape Jenkins SCM
Une fois que le plugin SCM a installé, nous pouvons utiliser le plugin SCM à la caisse comme indiqué dans l'exemple de pipeline suivant:
pipelineDans l'exemple précédent, nous utilisons l'étape SCM de paie.
Vous pouvez spécifier les différentes sources SCM telles que AWS Code Pipeline, Bazaar SCM, Bitkeeper, Mercuria, Open Shift Images, Système de fichiers, et plus.
L'image suivante montre les sources SCM acceptées pour l'étape de paiement:
Source: Documentation Jenkins SCM.
L'exemple suivant montre comment spécifier la source SCM et d'autres options telles que les informations d'identification:
Checkout SCM: [$ class: 'MercurialScm', Source: 'ssh: // hg @ bitbucket.org / user / repo ', Clean: true, indentialsid:' 1234-5678-abcd '], sondage: falseDans l'exemple précédent, le bloc SCM de paiement spécifie SCM à partir de laquelle l'étape de paiement obtient le code source.
Nous définissons également la configuration du SCM cible, y compris l'URL et les informations d'identification du serveur.
Dans ce cas, la [$ class: 'mercurialscm'] est définie à l'aide du SCM mercurial pour se connecter au référentiel.
Ensuite, nous utilisons l'option source pour spécifier l'URL du référentiel qui est un référentiel mercurial hébergé sur bitbucket.
Nous définissons également l'option Clean qui indique à Jenkins d'effectuer un paiement «propre». Cela permet à Jenkins de jeter les modifications locales et de consulter une nouvelle copie du référentiel.
L'option IdementielSid spécifie un ensemble d'ID d'identification pour s'authentifier avec le référentiel cible.
Enfin, le sondage d'option est défini sur faux. Cela empêche Jenkins de sonder le référentiel pour les changements. Par conséquent, Jenkins ne déclenchera pas automatiquement une version si de nouveaux engins ou des mises à jour dans le référentiel sont détectés. Nous devons déclencher manuellement une version ou utiliser d'autres moyens (comme un webhook) pour déclencher une version.
Conclusion
Nous avons exploré les principes fondamentaux de l'utilisation de l'étape de paiement SCM à Jenkins pour vérifier le code source d'un référentiel donné.