Artefakte und Pakete
Artefakte und Pakete aktivieren DevOps Change-Geschwindigkeit Um Entwicklungs- und Testaktivitäten für eine Vielzahl von Bereitstellungs- und Releasemodellen nachzuverfolgen. Diese Funktion stellt sicher, dass die Pipeline-Aktivität in gespeichert wird DevOps Das Datenmodell kann abgerufen und angewendet werden, wenn Artefakte zu verschiedenen Zeiten oder in verschiedenen Pipelines erstellt und freigegeben werden.
Artefakte
Wenn eine Artefaktversion registriert ist, werden zugehörige Aktivitäten wie Commits, Tests und Code-Scans nachverfolgt, sodass diese Details unabhängig davon abgerufen werden können, wann die Artefaktversion bereitgestellt wird. Dies kann sich in der aktuellen Pipeline-Ausführung, einer späteren Ausführung derselben Pipeline, einer Pipeline, die durch die aktuelle ausgelöst wird, oder einer separaten Pipeline, die unabhängig ausgelöst wird.
Wenn Sie Commits einer Artefaktversion (CI-Pipeline) zuordnen und ein Artefaktpaket (CD-Pipeline) definieren, werden alle Artefaktversionen, die seit der letzten Bereitstellung der App in der Produktion generiert wurden, in die Liste der Commits für den Change aufgenommen. Die Konsolidierung dieser Elemente ist hilfreich, insbesondere wenn vor der Bereitstellung mehrere CI-Builds vorhanden sind.
- Kategorie DevOps Oder Kategorisieren Sie DevOps-Change-Anforderungen im Feld „DevOps-Change“ Das Kontrollkästchen ist in aktiviert DevOps Eigenschaften. Weitere Informationen finden Sie unter DevOps Change-Anforderung ohne Angabe der Kategorie AS DevOps.
- Zugehörige Listen Commits und Arbeitselemente
Pakete
- Abrufen von Aktivitäten für alle im Paket deklarierten Artefaktversionen. Zum Beispiel zur Verwendung in einer automatisierten Change-Genehmigungsrichtlinie.
- Aufzeichnung, wenn eine angegebene Artefaktversion erfolgreich veröffentlicht wurde, um sicherzustellen, dass an sie gebundene Informationen nicht mehr berücksichtigt werden. Beispiel: Für spätere Change-Anforderungen.
Artefakt-Setup
- Erstellen Sie einen Artefakt-Tooldatensatz in DevOps .Hinweis:Ein Artefakt-Tool ist nicht erforderlich, es sei denn, zum Suchen von Artefaktversionen ist eine Webhook- oder anwendererstellte Integrations-Subflow-Konfiguration erforderlich.
- Registrieren Sie Artefakte in der CI-Pipeline.
- Erstellen Sie ein Paket in der CD-Pipeline.Hinweis:Der Paketerstellungsschritt muss vor dem Schritt „Prod-Bereitstellung“ liegen.
Artefaktregistrierung
Konfigurieren Sie die Artefaktregistrierung in einer geskripteten Pipeline oder einem Freestyle-Auftrag mit DevOps-API /Artefakt/Registrierung Endpunkt. Mehrere Artefaktversionen werden unterstützt.
Geskriptete und deklarative Pipeline ( SnDevOpsArtifact Jenkinsfile-Befehl)
Zum Beispiel:snDevOpsArtifact(artifactsPayload: """{"artifacts": [{"name": "sa-web.jar", "version": "1.9","semanticVersion": "1.9.0","repositoryName": "services-1031"}], "branchName": "master"}""")FreeStyle-Auftrag ( Artefakt Registrieren Build-Schritt)
Zum Beispiel:{"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","semanticVersion":"1.9.0","repositoryName":"maven-releases"}]}
Artefaktpaketerstellung
FreeStyle-Auftrag ( Paket Erstellen Build-Schritt)
Zum Beispiel:
{"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","repositoryName":"maven-releases"}]}Deklarative und geskriptete Pipeline ( SnDevOpsPackage Jenkinsfile-Befehl)
Paket mit mehr als einem Artefakt (aus verschiedenen Repositorys) in der Nutzlast, z. B.:snDevOpsPackage(name: "sentimentpackage", artifactsPayload: """{"artifacts":[{"name": "sa-web.jar", "version": "1.9", "repositoryName": "services-1031"}, "{"name": "sa-db.jar", "version": "1.3.2", "repositoryName": "services-1032"}], "branchName": "master"}""")
Jenkins Plugin-Schritt IncludeBuildInfo Kann verwendet werden, um Build-Details in den API-Aufruf einzubeziehen.
Artefakt-Workflow und -Objekte
Der Orchestration-Tool-Auftrag veröffentlicht das neue Artefakt (bestehend aus Versionen) im Artefakt-Repository. Jede Artefaktversion ist einer Aufgabenausführung zugeordnet (bestehend aus den zugehörigen Code-Commits). Für das Release wird ein Paket erstellt (bestehend aus bestimmten Artefaktversionen, die für die Bereitstellung gekennzeichnet sind), und nach Abschluss der Bereitstellungsphase wird das Paket als für die Produktion bereitgestellt markiert.
Diese Objekte sind Teil der Artefaktstruktur.
Artefakttool
Wird verwendet, um Artefakt-Repository-Manager wie zu unterstützen JFrog Artifactory.
Hinweis:Ein Artefakt-Tool ist nicht erforderlich, es sei denn, zum Suchen von Artefaktversionen ist eine Webhook- oder anwendererstellte Integrations-Subflow-Konfiguration erforderlich.Artefakt-Repository
Ziel für Artefakte, die in einem Build generiert wurden, sowie eine Quelle von Artefakten, die für einen Build erforderlich sind. Kann manuell oder über die RegisterArtifact-API erstellt werden, wenn neue Artefakte unter neuen Repositorys in einem Tool veröffentlicht werden.
Artefakt
Artefaktname, für den verschiedene Builds (Artefaktversionen) generiert werden. Kann manuell oder über die RegisterArtifact-API erstellt werden. Artefakte (Versionen) werden einer Aufgabenausführung zugeordnet und in einem Artefakt-Repository veröffentlicht.
Artefaktversion
Bestimmte Version des Artefakts. Bereitstellbare Komponente einer Anwendung, die von einem CI-Build generiert wurde. Wenn angegeben, wird die semantische Version verwendet.
Kann durch Discovery oder über die RegisterArtifact-API erstellt werden. Artefakte (Versionen) werden einer Aufgabenausführung zugeordnet und in einem nachverfolgten Artefakt-Repository veröffentlicht.
Semantische Version
Optionales Attribut einer Artefaktversion, das, falls angegeben, verwendet wird, um Commits für einen Change zu bestimmen. Format der semantischen Version ist (MAJOR.MINOR.PATCH).
Paket
Sammlung von Artefaktversionen, die als Eingabe zu einer CD-Pipeline oder zum Zuordnen von Testergebnissen verwendet werden.
Die Paketerstellung wird durch den API-Aufruf CreatePackage aus dem Orchestration-Tool ausgelöst und enthält den Namen, die Version und den Repository-Namen aller im Paket enthaltenen Artefaktversionen. Ein Kontrollkästchen gibt an, ob das Paket in der Produktion bereitgestellt wurde.
Sie können auch alle vorhandenen Pipeline-Change-Anforderungen direkt aus anzeigen Changes Modul im Anwendungsnavigator.
Sie können alle vorhandenen Change-Steuerungs- und Pipeline-Change-Anforderungen direkt mit anzeigen Changes Modul im Anwendungsnavigator.
Navigieren zu Für alle Change-bezogenen Informationen.
Pipeline-Change-Anforderungen
Sie können alle vorhandenen Artefakte und Pakete direkt mit anzeigen Liste Modul im Anwendungsnavigator.
Navigieren zu Für alle Artefaktbezogenen Informationen.
Überwachung von Artefakten und Paketen
Wenn Artefakte und Pakete von einem Quelltool in registriert werden ServiceNow, Werden häufig in bereitgestellt sn_devops_artifact_stagingTabelle, während die verbleibenden erforderlichen Daten für die Erstellung und Verknüpfung dieser Objekte entweder aus eingehenden Ereignissen empfangen oder von abgerufen werden DevOps Flows.
Meistens werden diese Bereitstellungsdatensätze innerhalb weniger Sekunden verarbeitet. Es kann jedoch Fälle geben, in denen die erforderlichen Daten nie empfangen werden, sodass diese Datensätze möglicherweise inaktiv bleiben. Die Beschreibung Das Feld in der folgenden Tabelle enthält eine Zusammenfassung der Details, die in solchen Fällen fehlen, um die Überwachung zu erleichtern.
| Bereitstellungstyp | Bereitstellungscode | Wann kann dies auftreten | Endgültiger Status? | Beschreibung |
|---|---|---|---|---|
| Create_Package_Association | WARTEN_AUF_ANDERE_STAGED_REQUESTS | Während eines Paketregistrierungsaufrufs, wenn die Aufgabenausführung, aus der der Aufruf stammt, im System gefunden und nachverarbeitet wird, aber nicht alle in der Artefaktnutzlast übergebenen Artefaktversionen im System gefunden wurden. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Aufgabenausführung für Zuordnung gefunden (TE00012345) und Nachverarbeitungskennzeichnung ist auf „wahr“ festgelegt, es wurden jedoch nicht alle Artefaktversionen gefunden. Gesamtanzahl der Artefakte: 2 |
| Create_Package_Association | TASK_EXEC_POST_PROCESSING_PENDING | Während eines Paketregistrierungsaufrufs, wenn die Aufgabenausführung, aus der der Anruf stammt, im System gefunden wird, aber noch nicht nachverarbeitet wurde. Das abgeschlossene Webhook-Ereignis für diese Aufgabenausführung wurde noch nicht verarbeitet. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Aufgabenausführung für Zuordnung gefunden (TE00012345), aber die Kennzeichnung für „Nachverarbeitung abgeschlossen“ ist nicht auf „wahr“ festgelegt. Gesamtanzahl der Artefakte: 2 |
| Create_Package_Association | NO_TASK_EXECUTION_FOUND | Während eines Paketregistrierungsaufrufs, wenn die Aufgabenausführung, aus der der Anruf stammt, noch nicht im System gefunden wird. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Aufgabenausführung für Zuordnung nicht gefunden (pipelineName=TestPipeline, stageName=Paket, taskExecutionNumber=18). Gesamtanzahl der Artefakte: 2 |
| Create_Package | VERSION_NOT_FOUND | Während eines Paketregistrierungsaufrufs, wenn die in der Artefaktnutzlast übergebene Artefaktversion noch nicht im System gefunden wurde. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion nicht gefunden (Name=TestArtifact, Version=2,5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). Artefaktanzahl: 1 von 2 |
| Create_Package | VERSION_NOT_FOUND | Während eines Paketregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast übergeben wird, sondern entweder eine taskExecutionSysId oder (pipelineName, stageName, taskExecutionNumber) enthält, die zum Suchen des Aufgabenausführungsdatensatzes verwendet werden können, der in diesem Fall gefunden und nachverarbeitet wird, aber keinen Artefaktversionsdatensatz zugeordnet ist. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion in Nutzlast nicht verfügbar und nicht mithilfe von Aufgabenausführungsdetails gefunden (Name=TestArtifact, Version=2,5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18) (TE00012345). Artefaktanzahl: 1 von 2 |
| Create_Package | TASK_EXEC_POST_PROCESSING_PENDING | Während eines Paketregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefakt-Nutzlast übergeben wird, sondern entweder eine taskExecutionSysId oder (pipelineName, stageName, taskExecutionNumber) enthält, die zum Suchen des Aufgabenausführungsdatensatzes verwendet werden können, der in diesem Fall gefunden, aber noch nicht nachverarbeitet wird. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion in Nutzlast nicht verfügbar und Aufgabenausführung für Zuordnung gefunden, aber die Kennzeichnung für „Nachverarbeitung abgeschlossen“ ist nicht auf „wahr“ festgelegt (Name=TestArtifact, Version=2,5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Paket, taskExecutionNumber=18) (TE00012345). Artefaktanzahl: 1 von 2 |
| Create_Package | NO_TASK_EXECUTION_FOUND | Während eines Paketregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast übergeben wird, sondern entweder eine taskExecutionSysId oder (pipelineName, stageName, taskExecutionNumber) enthält, die zum Suchen des Aufgabenausführungsdatensatzes verwendet werden können, der in diesem Fall nicht gefunden wird. | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion in Nutzlast nicht verfügbar, und die Aufgabenausführung wurde ebenfalls nicht für die Zuordnung gefunden (Name=TestArtifact, Version=2,5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). Artefaktanzahl: 1 von 2 |
| Create_Package | WARTEN_AUF_ANDERE_STAGED_REQUESTS | Während eines Paketregistrierungsaufrufs, wenn die in der Artefaktnutzlast übergebene Artefaktversion im System gefunden wurde, aber warten muss, bis die anderen zugehörigen Bereitstellungsdatensätze verarbeitet werden (einschließlich der Datensätze „create_Package“ oder „create_Package_Association“). | Nein | Ihre Paketregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion gefunden, es muss jedoch auf die verbleibenden Staging-Datensätze für die Paketregistrierung gewartet werden. Artefaktanzahl: 1 von 2 |
| Register_Artefakt | TASK_EXEC_POST_PROCESSING_PENDING | Während eines Artefaktregistrierungsaufrufs, wenn die Aufgabenausführung, aus der der Aufruf stammt, im System gefunden wird, aber noch nicht nachverarbeitet wurde. Das Webhook-Ereignis „Abgeschlossen“ für diese Aufgabenausführung wurde noch nicht verarbeitet. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion erstellt und Aufgabenausführung für Zuordnung für Zuordnung gefunden (TE00012345), aber die Kennzeichnung für „Nachverarbeitung abgeschlossen“ ist nicht auf „wahr“ festgelegt. |
| Register_Artefakt | NO_TASK_EXECUTION_FOUND | Während eines Artefaktregistrierungsaufrufs, wenn die Aufgabenausführung, aus der der Aufruf stammt, noch nicht im System gefunden wird. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion erstellt, Aufgabenausführung für Zuordnung wurde jedoch nicht gefunden (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| Register_Artefakt | VERSION_BEREITS_REGISTRIERT | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion, die in der Artefaktnutzlast für ein bestimmtes Artefakt und ein bestimmtes Repository bereitgestellt wird, bereits im System vorhanden ist. | Ja (Ignoriert) | Ihre Anforderung zur Artefaktregistrierung wurde aus folgendem Grund ignoriert: Artefaktversion wurde bereits registriert. |
| Register_Artefakt | NO_SUBFLOW_CONFIGURED | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefakt-Nutzlast angegeben ist und sowohl der Webhook als auch der Such-Subflow den Artefaktversionsdatensatz nicht finden sollen. | Ja (Ignoriert) | Ihre Anforderung zur Artefaktregistrierung wurde aus folgendem Grund ignoriert: Artefaktversion in Nutzlast nicht verfügbar. Webhook und Such-Subflow sind nicht verfügbar. |
| Register_Artefakt | NO_TASK_EXECUTION_FOUND | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast angegeben ist, aber Webhook unterstützt wird und der Artefaktversionsdatensatz gefunden werden kann, aber die Aufgabenausführung, aus der der Aufruf stammt, noch nicht im System gefunden wurde. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion über Webhook gefunden, aber Aufgabenausführung für Zuordnung nicht gefunden (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| Register_Artefakt | TASK_EXEC_POST_PROCESSING_PENDING | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast angegeben ist, aber Webhook unterstützt wird und der Artefaktversionsdatensatz gefunden werden kann, und die Aufgabenausführung, aus der der Aufruf stammt, im System gefunden wird, aber noch nicht nachverarbeitet wurde. Das abgeschlossene Webhook-Ereignis für diese Aufgabenausführung wurde noch nicht verarbeitet. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion über Webhook gefunden und Aufgabenausführung für Zuordnung gefunden (TE00012345), aber die Kennzeichnung für „Nachverarbeitung abgeschlossen“ ist nicht auf „wahr“ festgelegt. |
| Register_Artefakt | NO_TASK_EXECUTION_FOUND | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast angegeben ist, der Such-Subflow jedoch unterstützt wird und der Artefaktversionsdatensatz gefunden werden kann, aber die Aufgabenausführung, aus der der Aufruf stammt, noch nicht im System gefunden wurde. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion über Suche gefunden, aber Aufgabenausführung für Zuordnung nicht gefunden (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| Register_Artefakt | TASK_EXEC_POST_PROCESSING_PENDING | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast angegeben ist, der Such-Subflow jedoch unterstützt wird und der Artefaktversionsdatensatz gefunden werden kann, und die Aufgabenausführung, aus der der Aufruf stammt, im System gefunden wird, aber noch nicht nachverarbeitet wurde. Das abgeschlossene Webhook-Ereignis für diese Aufgabenausführung wurde noch nicht verarbeitet. | Nein | Ihre Artefaktregistrierungsanforderung steht aus folgendem Grund aus: Artefaktversion über Suche gefunden und Aufgabenausführung für Zuordnung gefunden (TE00012345), aber die Kennzeichnung für „Nachverarbeitung abgeschlossen“ ist nicht auf „wahr“ festgelegt. |
| Register_Artefakt | ERROR_CALLING_SUBFLOW | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefakt-Nutzlast angegeben ist und der Such-Subflow unterstützt wird, die Artefaktversion jedoch nicht gefunden werden konnte. | Ja (Ignoriert) | Ihre Anforderung zur Artefaktregistrierung wurde aus folgendem Grund ignoriert: Die Artefaktversion wurde vom Such-Subflow nicht gefunden. |
| Register_Artefakt | ERROR_CALLING_SUBFLOW | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefakt-Nutzlast angegeben ist und der Such-Subflow unterstützt wird, die Artefaktversion jedoch aufgrund eines Fehlers im Subflow nicht gefunden wurde. | Ja (Ignoriert) | Ihre Anforderung zur Artefaktregistrierung wurde aus folgendem Grund ignoriert: Die Artefaktversion wurde aufgrund eines Fehlers durch den Such-Subflow nicht gefunden (weitere Details finden Sie in den DevOps-Protokollen). |
| Register_Artefakt | ERROR_CALLING_SUBFLOW | Während eines Artefaktregistrierungsaufrufs, wenn die Artefaktversion nicht in der Artefaktnutzlast angegeben ist und der Such-Subflow unterstützt wird, aber nicht ausgeführt wurde, da der übergeordnete Artefaktdatensatz nicht im System gefunden werden konnte. | Ja (Ignoriert) | Ihre Anforderung zur Artefaktregistrierung wurde aus folgendem Grund ignoriert: Artefaktversion nicht gefunden. |