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 un travail Jenkins dans votre pipeline, utilisez un serveur Jenkins 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.
- 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 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
- Ajoutez et validez un point de terminaison Jenkins.
- Cliquez sur .
- Sélectionnez un projet et sélectionnez Jenkins comme type de point de terminaison. Ensuite, entrez un nom et une description.
- Si ce point de terminaison est un composant stratégique de votre infrastructure, activez Marquer comme restreint.
- Entrez l'URL du serveur Jenkins.
- 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 par Code 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. |
- 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.
- Pour créer votre code, créez un pipeline et ajoutez une tâche qui utilise votre point de terminaison Jenkins.
- Cliquez sur .
- Cliquez sur l'étape par défaut.
- Dans la zone Tâche, entrez un nom pour la tâche.
- Sélectionnez le type de tâche Jenkins.
- Sélectionnez le point de terminaison Jenkins que vous avez créé.
- Dans le menu déroulant, sélectionnez, sur le serveur Jenkins, un travail que votre pipeline exécutera.
- Saisissez les paramètres correspondant au travail.
- Entrez le jeton d'authentification du travail Jenkins.
- Activez et exécutez votre pipeline, et affichez-en l'exécution.
- 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.
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 Code Stream à des points de terminaison.