Étapes imbriquées et parallèles dans les pipelines Jenkins
Utilisez des étapes imbriquées et parallèles dans les pipelines Jenkins scriptés pour accélérer l'exécution de votre pipeline. Les demandes de changement sont créées pour les étapes imbriquées et parallèles, et pas seulement pour l'étape parente.
Prise en charge des étapes imbriquées et parallèles dans les pipelines Jenkins
Vous pouvez utiliser des étapes imbriquées et parallèles dans les pipelines Jenkins scriptés pour automatiser et accélérer les tâches qui peuvent être exécutées en parallèle. Par exemple, vous disposez d'un pipeline Jenkins scripté avec des étapes imbriquées et parallèles pour divers scénarios de tests, notamment différents contrôles qualité pour différents systèmes d'exploitation et navigateurs.
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
// Your build steps here
}
}
stage('Test') {
parallel {
stage('Unit Tests') {
steps {
echo 'Running unit tests...'
// Your unit test steps here
}
}
stage('Integration Tests') {
steps {
echo 'Running integration tests...'
// Your integration test steps here
}
}
stage('Additional Tests') {
steps {
script {
parallel(
'Nested Stage 1': {
echo 'Running nested parallel stage 1...'
// Your nested parallel stage 1 steps here
},
'Nested Stage 2': {
echo 'Running nested parallel stage 2...'
// Your nested parallel stage 2 steps here
}
)
}
}
}
}
}
stage('Deploy') {
steps {
echo 'Deploying...'
snDevOpsChange changeRequestDetails: '{ "attributes": {"chg_model": "e55d0bfec343101035ae3f52c1d3ae49","standard_change_template"="563504cc47410200e90d87e8dee490e2"},"autoCloseChange": false}',changeStepTimeOut: 18000, pollingInterval: 60
// Your deploy steps here
}
}
}
}
Demandes de changement dans les étapes imbriquées et parallèles
Les demandes de changement sont créées pour toutes les étapes imbriquées et parallèles, une fois que tous les événements en amont (préalables à la demande de changement) sont reçus. Dans les versions précédentes, les étapes imbriquées ou parallèles dans les pipelines Jenkins n'étaient pas identifiées ni traitées dans ServiceNow DevOps. Seules les étapes parentes étaient identifiées et traitées de manière linéaire ou séquentielle. S'il existait des demandes de changement dans le cadre d'étapes imbriquées et parallèles, ces demandes de changement étaient ignorées et une seule demande de changement était traitée dans le cadre de l'étape parente. Lorsque vous exécutez un nouveau pipeline après la mise à niveau, de nouvelles étapes et exécutions d'étapes sont créées pour les étapes imbriquées.
Les étapes imbriquées et parallèles n'étaient pas traitées auparavant, et les groupes d'approbation étaient mappés uniquement sur l'étape parente. Étant donné que les étapes imbriquées et parallèles sont identifiées pendant le traitement, vous devez vérifier que les groupes d'approbation pertinents sont mappés sur l'étape imbriquée ou parallèle appropriée. Si les étapes suivantes du pipeline dépendent de l'approbation de la demande de changement, l'exécution du pipeline est interrompue et reprend lorsque la demande de changement est approuvée.
Considérations sur la mise à niveau
- Effectuez la mise à niveau en dehors des heures de pointe.
- Assurez-vous qu'aucune exécution de pipeline n'est en cours dans ServiceNow DevOps. Si des exécutions de pipeline sont en cours de traitement, les exécutions d'étapes peuvent ne pas être créées comme prévu pour les exécutions de pipelines en cours. Réexécutez le pipeline pour créer des exécutions d'étapes appropriées.