Code Stream fournit un plug-in Jenkins qui déclenche les travaux Jenkins chargés de générer et de tester votre code source. Le plug-in Jenkins exécute des cas de test et peut utiliser des scripts personnalisés.

Pour exécuter une tâche Jenkins dans votre pipeline, vous utilisez un serveur Jenkins sur site ou cloud, et ajoutez le point de terminaison Jenkins dans Code Stream. Ensuite, vous créez un pipeline et y ajoutez une tâche Jenkins.

Lorsque vous utilisez la tâche Jenkins et un point de terminaison Jenkins dans Code Stream, vous pouvez créer un pipeline qui prend en charge les tâches multi-branches dans Jenkins. La tâche multi-branche inclut des tâches individuelles dans chaque branche d'un référentiel Git. Lorsque vous créez des pipelines dans Code Stream qui prennent en charge les tâches multi-branches :

  • La tâche Jenkins peut exécuter des tâches Jenkins qui résident dans plusieurs dossiers sur le serveur Jenkins.
  • Vous pouvez remplacer le chemin du dossier dans la configuration des tâches Jenkins afin qu'elle utilise un chemin de dossier différent, ce qui remplace le chemin par défaut défini dans le point de terminaison Jenkins dans Code Stream.
  • Les pipelines à multi-branches dans Code Stream détectent les fichiers de tâche Jenkins de type .groovy dans un référentiel Git ou un référentiel GitHub, et commencent à créer des tâches pour chaque branche qu'ils détectent dans le référentiel.
  • Vous pouvez remplacer le chemin d'accès par défaut défini dans le point de terminaison Jenkins par un chemin fourni dans la configuration de la tâche Jenkins, et exécuter une tâche et un pipeline associés à n'importe quelle branche d'une tâche Jenkins principale.

Conditions préalables

  • Configurez un serveur Jenkins qui exécute la version 1.561 ou une version ultérieure. Le serveur peut être sur site ou dans le cloud.
  • Si vous utilisez un serveur Jenkins sur site, vérifiez que vous pouvez accéder à VMware Cloud Assembly où vous pouvez ajouter un proxy cloud. Par exemple, reportez-vous à la section Configuration de VMware Code Stream pour modéliser le processus de publication.
  • Assurez-vous d'être membre d'un projet dans Code Stream. Si vous n'êtes pas membre, demandez à un administrateur de Code Stream de vous ajouter en tant que membre d'un projet. Reportez-vous à la section Ajout d'un projet dans VMware Code Stream.
  • Vérifiez qu'un travail existe sur le serveur Jenkins afin que votre tâche de pipeline puisse l'exécuter.

Procédure

  1. Ajoutez et validez un point de terminaison Jenkins.
    1. Cliquez sur Points de terminaison > Nouveau point de terminaison.
    2. Sélectionnez un projet et sélectionnez Jenkins comme type de point de terminaison. Ensuite, entrez un nom et une description.
    3. Si ce point de terminaison est un composant stratégique de votre infrastructure, activez Marquer comme restreint.
    4. Si ce point de terminaison se trouve sur site, sélectionnez un proxy cloud qui le connecte à Code Stream.
    5. Entrez l'URL du serveur Jenkins.
    6. Saisissez le nom d'utilisateur et le mot de passe de connexion au serveur Jenkins. Entrez ensuite les informations restantes.
      Tableau 1. Informations restantes pour le point de terminaison Jenkins
      Entrée du point de terminaison Description
      Chemin d'accès au dossier Chemin d'accès au dossier qui regroupe vos travaux. Jenkins peut exécuter tous les travaux du dossier. Vous pouvez créer des sous-dossiers. Par exemple :
      • folder_1 peut inclure job_1
      • folder_1 peut inclure folder_2, qui peut inclure job_2

      Lorsque vous créez un point de terminaison pour folder_1, le chemin du dossier est job/folder_1, et le point de terminaison répertorie uniquement job_1.

      Pour obtenir la liste des travaux dans le dossier enfant nommé folder_2, vous devez créer un autre point de terminaison qui utilise le chemin d'accès au dossier, comme /job/folder_1/job/folder_2/.

      Chemin d'accès au dossier pour les tâches Jenkins multi-branches Pour prendre en charge les tâches Jenkins multi-branches, dans la tâche Jenkins, vous entrez le chemin d'accès complet qui inclut l'URL du serveur Jenkins et le chemin d'accès complet à la tâche. Lorsque vous incluez un chemin de dossier dans la tâche Jenkins, ce chemin remplace le chemin qui s'affiche dans le point de terminaison Jenkins. Avec le chemin d'accès au dossier personnalisé dans la tâche Jenkins, Code Stream affiche uniquement les tâches présentes dans ce dossier.
      • Par exemple : https://server.yourcompany.com/job/project
      • Si le pipeline doit également déclencher la tâche Jenkins principale, utilisez : https://server.yourcompany.com/job/project/job/main
      URL URL hôte du serveur Jenkins. Entrez l'URL sous la forme protocol://host:port. Par exemple : http://192.10.121.13:8080
      Intervalle d'interrogation Durée de l'intervalle d'interrogation du serveur Jenkins parCode Stream, à la recherche de mises à jour.
      Nombre de relances de la demande Nombre de fois que la demande de génération planifiée concernant le serveur Jenkins est relancée.
      Temps d'attente avant relance Nombre de secondes d'attente avant la relance de la demande de génération concernant le serveur Jenkins.
    7. Cliquez sur Valider et vérifiez que le point de terminaison se connecte à Code Stream. S'il ne se connecte pas, corrigez les erreurs éventuelles, puis cliquez sur Enregistrer.
      Le point de terminaison Jenkins qui crée et teste votre code nécessite l'URL et utilise un proxy cloud spécifique que vous sélectionnez.
  2. Pour créer votre code, créez un pipeline et ajoutez une tâche qui utilise votre point de terminaison Jenkins.
    1. Cliquez sur Pipelines > Nouveau pipeline > Canevas vide.
    2. Cliquez sur l'étape par défaut.
    3. Dans la zone Tâche, entrez un nom pour la tâche.
    4. Sélectionnez le type de tâche Jenkins.
    5. Sélectionnez le point de terminaison Jenkins que vous avez créé.
    6. Dans le menu déroulant, sélectionnez, sur le serveur Jenkins, un travail que votre pipeline exécutera.
    7. Saisissez les paramètres correspondant au travail.
    Lorsque vous configurez une tâche Jenkins qui utilise votre point de terminaison Jenkins, vous sélectionnez le travail Jenkins et ajoutez des valeurs.
  3. Activez et exécutez votre pipeline, et affichez-en l'exécution.
    L'exécution du pipeline pour la tâche Jenkins affiche les détails du travail Jenkins, notamment l'ID du travail, l'URL du travail, ainsi que les clés et les valeurs dans le résultat du travail.
  4. Examinez les détails et l'état de l'exécution sur le tableau de bord du pipeline.
    Vous pouvez identifier les éventuels échecs et leur raison. Vous pouvez également afficher les tendances qui se dégagent en matière de durée, d'aboutissement et d'échec d'exécution de pipeline.
    Le tableau de bord de pipeline affiche des détails sur les exécutions de pipeline, tels que le nombre d'exécutions de pipeline et leurs durées, ainsi que l'état de chaque exécution.

Résultats

Félicitations ! Vous avez intégré Code Stream à Jenkins en ajoutant un point de terminaison, en créant un pipeline et en configurant une tâche Jenkins qui génère votre code.

Exemple : Exemple de fichier YAML pour une tâche de génération Jenkins

Pour le type de tâche de génération Jenkins utilisé dans cet exemple, le fichier YAML ressemble au code suivant, accompagné de notifications activées :

test:
  type: Jenkins
  endpoints:
    jenkinsServer: jenkins
  input:
    job: Add two numbers
    parameters:
      Num1: '23'
      Num2: '23'

Que faire ensuite

Consultez les autres sections pour plus d'informations. Reportez-vous à la section Connexion de VMware Code Stream à des points de terminaison.