Geschachtelte und parallele Phasen in JenkinsPipelines
Verwenden Sie geschachtelte und parallele Phasen in geskriptet JenkinsPipelines, um Ihre Pipeline-Ausführung zu beschleunigen. Change-Anforderungen werden für geschachtelte und parallele Phasen und nicht nur für die übergeordnete Phase erstellt.
Unterstützung für geschachtelte und parallele Phasen in JenkinsPipelines
Sie können geschachtelte und parallele Phasen in geskriptet verwenden JenkinsPipelines zur Automatisierung und Beschleunigung von Aufgaben, die parallel ausgeführt werden können. Sie haben beispielsweise geskriptet JenkinsPipeline mit geschachtelten und parallelen Phasen für verschiedene Testfälle, z. B. verschiedene Qualitätsprüfungen für verschiedene Betriebssysteme und Browser.
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
}
}
}
}
Change-Anforderungen in geschachtelten und parallelen Phasen
Change-Anforderungen werden für alle geschachtelten und parallelen Phasen erstellt, sobald alle vorgelagerten Ereignisse (vor der Change-Anforderung) empfangen wurden. In vorherigen Releases geschachtelte oder parallele Phasen in JenkinsPipelines wurden in nicht identifiziert oder verarbeitet ServiceNow DevOps. Nur übergeordnete Phasen wurden identifiziert und linear oder sequenziell verarbeitet. Wenn Change-Anforderungen als Teil einer geschachtelten und parallelen Phase vorhanden waren, wurden diese Change-Anforderungen ignoriert, und eine einzelne Change-Anforderung wurde als Teil der übergeordneten Phase verarbeitet. Wenn Sie nach dem Upgrade eine neue Pipeline ausführen, werden neue Schritte und Schrittausführungen für geschachtelte Phasen erstellt.
Geschachtelte und parallele Phasen wurden zuvor nicht verarbeitet, und Genehmigungsgruppen wurden nur der übergeordneten Phase zugeordnet. Da verschachtelte und parallele Phasen während der Verarbeitung identifiziert werden, müssen Sie sicherstellen, dass relevante Genehmigungsgruppen der entsprechenden geschachtelten oder parallelen Phase zugeordnet sind. Wenn nachfolgende Schritte der Pipeline davon abhängen, dass die Change-Anforderung genehmigt wird, wird die Pipeline-Ausführung angehalten. Und fortgesetzt, wenn die Change-Anforderung genehmigt wird.
Upgrade-Überlegungen
- Upgrade außerhalb der Spitzenzeiten.
- Stellen Sie sicher, dass Sie keine Pipeline-Ausführungen haben, die derzeit von ausgeführt werden ServiceNow DevOps. Wenn Pipeline-Ausführungen verarbeitet werden, werden Schrittausführungen möglicherweise nicht wie für die laufenden Pipeline-Ausführungen erwartet erstellt. Führen Sie die Pipeline erneut aus, um entsprechende Schrittausführungen zu erstellen.