Artefacts et packages

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 14 minutes de lecture
  • Les artefacts et les packages permettent à Vélocité de changement DevOps de suivre les activités de développement et de test sur un large éventail de modèles de déploiement et de mise en production. Cette fonctionnalité garantit la récupération et l'application de l'activité du pipeline stockée dans le modèle de données DevOps lorsque les artefacts sont créés et publiés à différents moments ou dans différents pipelines.

    Artifacts

    Lorsqu'une version d'artefact est enregistrée, les activités connexes telles que les validations, les tests et les analyses de code font l'objet d'un suivi de sorte à pouvoir récupérer ces détails, quel que soit le moment où la version d'artefact est déployée. Cette opération peut avoir lieu dans l'exécution de pipeline actuelle, une exécution ultérieure du même pipeline, un pipeline déclenché par le pipeline en cours ou un pipeline distinct déclenché indépendamment.

    Lorsque vous associez des validations à une version d'artefact (pipeline de CI) et définissez un package d'artefacts (pipeline de CD), toutes les versions d'artefacts générées depuis le dernier déploiement de l'application en production sont incluses dans la liste des validations du changement. La consolidation de ces éléments est utile, en particulier lorsqu'il existe plusieurs versions de CI avant le déploiement.

    Attributs de demande de changement DevOps :
    • La case à cocher Catégorie DevOps ou Catégoriser les demandes de changement DevOps dans le champ « Changement DevOps » est sélectionnée dans les propriétés DevOps. Pour plus d'informations, consultez Demande de changement DevOps sans catégorie DevOps imposée.
    • Listes connexes Validations et Éléments de travail

    Packages

    Un package permet de déterminer à quel moment une ou plusieurs versions d'artefacts sont utilisées dans un pipeline de déploiement. Cette fonctionnalité offre deux avantages importants :
    1. Récupération des activités pour toutes les versions d'artefacts déclarées dans le package. Par exemple, pour une utilisation dans une politique automatisée d'approbation des changements.
    2. Enregistrement du moment où une version d'artefact spécifique a été correctement mise en production, de façon à ne plus prendre en compte les informations liées à cette version d'artefact. Par exemple, pour les demandes de changement ultérieures.

    Configuration des artefacts

    1. Créez un enregistrement d'outil d'artefact dans DevOps.
      Remarque :
      Un outil d'artefact n'est pas nécessaire, sauf si une configuration de webhook ou de flux secondaire d'intégration créée par l'utilisateur est requise pour rechercher des versions d'artefacts.
    2. Enregistrez les artefacts dans le pipeline de CI.
    3. Créez un package dans le pipeline de CD.
      Remarque :
      L'étape de création du package doit être antérieure à l'étape de déploiement en production.

    Enregistrement d'artefact

    Configurez l'enregistrement d'artefact dans un pipeline scripté ou une tâche Freestyle à l'aide du point de terminaison API DevOps /artifact/registration. Plusieurs versions d'artefacts sont prises en charge.

    Pour le pipeline Jenkins :
    • Pipeline scripté et déclaratif (commande Jenkinsfile snDevOpsArtifact)

      Par exemple :
      snDevOpsArtifact(artifactsPayload: """{"artifacts": [{"name": "sa-web.jar", "version": "1.9","semanticVersion": "1.9.0","repositoryName": "services-1031"}], "branchName": "master"}""")
    • Tâche Freestyle (étape de version Enregistrer l'artefact)

      Par exemple :
      {"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","semanticVersion":"1.9.0","repositoryName":"maven-releases"}]}

    Création d'un package d'artefacts

    Important :
    Vous devez ajouter l'étape de création de package avant l'étape de changement dans votre pipeline, en veillant à ajouter la création de package dans une étape précédant l'étape de changement, afin que les packages soient liés à l'exécution de pipeline pour une demande de changement.
    Configurez la création d'un package d'artefacts dans un pipeline scripté ou une tâche Freestyle à l'aide du point de terminaison API DevOps /package/registration.
    Remarque :
    Vous devez spécifier le nom du package.
    Pour le pipeline Jenkins :
    • Tâche Freestyle (étape de version Créer un package)

      Par exemple :

      {"artifacts":[{"name":"sentiment-analysis-web2","version":"1.9","repositoryName":"maven-releases"}]}
    • Pipeline déclaratif et scripté (commande Jenkinsfile snDevOpsPackage)

      Package avec plusieurs artefacts (provenant de référentiels différents) dans la charge utile, par exemple :
      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"}""")

      Accélération du changement DevOps pour le package de mises en production

    Remarque :
    Lorsqu'une version d'artefact n'est pas disponible pendant la conception, les détails de conception (pipelineName ou projectName, taskExecutionNumber, stageName, branchName) sont utilisés pour rechercher la version de l'artefact dans l'exécution de la tâche.

    Il est possible d'utiliser l'étape includeBuildInfo du module d'extension Jenkins pour inclure des détails de version dans l'appel d'API.

    Workflow et objets d'artefact

    La tâche de l'outil d'orchestration publie le nouvel artefact (composé de versions) dans le référentiel d'artefacts. Chaque version d'artefact est associée à une exécution de tâche (composée des validations de code associées). Un package est créé pour la mise en production (composé de versions d'artefacts spécifiques marquées pour le déploiement) et, une fois l'étape de déploiement terminée, le package est marqué comme déployé en production.

    Ces objets font partie de la structure de l'artefact.

    • Outil d'artefact

      Utilisé pour prendre en charge les gestionnaires de référentiels d'artefacts tels que JFrog Artifactory.

      Remarque :
      Un outil d'artefact n'est pas nécessaire, sauf si une configuration de webhook ou de flux secondaire d'intégration créée par l'utilisateur est requise pour rechercher des versions d'artefacts.
    • Référentiel de l'artefact

      Cible des artefacts générés dans une version, et source d'artefacts requis par une version. Peut être créé manuellement ou via l'API RegisterArtifact à mesure que de nouveaux artefacts sont publiés dans de nouveaux référentiels dans un outil.

    • Artifact

      Nom de l'artefact pour lequel différentes versions (versions d'artefacts) sont générées. Peut être créé manuellement ou via l'API RegisterArtifact. Les artefacts (versions) sont associés à l'exécution d'une tâche et publiés dans un référentiel d'artefacts.

    • Version de l'artefact

      Version spécifique de l'artefact. Composant d'élément déployable d'une application, généré par une version de CI. Lorsqu'elle est fournie, la version sémantique est utilisée.

      Peut être créée via la découverte ou via l'API RegisterArtifact. Les artefacts (versions) sont associés à l'exécution d'une tâche et publiés dans un référentiel d'artefacts suivi.

    • Version sémantique

      Attribut facultatif d'une version d'artefact qui, lorsqu'il est fourni, sert à déterminer les validations d'un changement. Le format de la version sémantique est (MAJOR.MINOR.PATCH).

    • Package

      Collection de versions d'artefacts utilisées comme entrée dans un pipeline de CD ou pour associer des résultats des tests.

      La création d'un package est déclenchée via l'appel d'API CreatePackage à partir de l'outil d'orchestration et contient le nom, la version et le nom de référentiel de toutes les versions d'artefacts incluses dans le package. Une case à cocher indique si le package a été déployé en production.

    Accélération du changement DevOps pour les mises en production :
    Figure 1. Demande de changement DevOps – catégorie DevOps
    Demande de changement DevOps.
    Figure 2. Demande de changement DevOps - validations et éléments de travail
    Validations de demandes de changement DevOps.
    Figure 3. Liste des versions d'artefacts DevOps
    Liste des versions d’artefacts DevOps.
    Figure 4. Version d'artefact DevOps – validations
    Validations d’artefacts DevOps.
    Figure 5. Version d'artefact DevOps – packages
    Packages d’artefacts DevOps.
    Figure 6. Package DevOps
    Package DevOps.

    Vous pouvez également afficher toutes les demandes de changement de pipeline existantes directement à partir du module Changements du navigateur d'application.

    Figure 7. Module Changements

    Vous pouvez consulter toutes les demandes de changement de pipeline et de contrôle du changement existantes directement à l'aide du module Changements dans le navigateur d'application.

    Accédez à la Espace de travail de changement DevOps > Changements > Demandes de changement de pipeline > Tous pour toute information relative au changement.

    Demandes de changement de pipeline

    Demandes de changement de pipeline.
    Figure 8. Module Liste

    Vous pouvez afficher tous les artefacts et packages existants directement à l'aide du module Liste du navigateur d'application.

    Accédez à la Espace de travail de changement DevOps > Listes > Artefact pour toute information relative aux artefacts.

    Liste des artefacts et des packages.

    Surveillance des artefacts et packages

    Lorsque des artefacts et des packages sont enregistrés à partir d'un outil source dans ServiceNow, ils sont souvent préproduits dans la table sn_devops_artifact_staging, tandis que les données restantes nécessaires à la création et à la liaison de ces objets sont soit reçues à partir d'événements entrants, soit extraites par les flux DevOps.

    La plupart du temps, ces enregistrements de préproduction sont traités en quelques secondes. Dans certains cas, il est toutefois possible que les données nécessaires ne soient jamais reçues et que ces enregistrements restent inactifs. Le champ Description du tableau ci-dessous contient un résumé des détails manquants dans ces cas pour faciliter la surveillance.

    Remarque :
    Il est recommandé de définir des noms d'artefacts uniques pour les versions de mise en production, c'est-à-dire des noms d'artefacts différents pour les versions s'exécutant sur différentes versions de branches.
    Type de préproduction Code de préproduction Quand peut-il se produire ? État final ? Description
    create_package_association WAITING_FOR_OTHER_STAGED_REQUESTS Au cours d'un appel d'enregistrement de package, lorsque l'exécution de la tâche à l'origine de l'appel est détectée dans le système et a fait l'objet d'un post-traitement, mais que toutes les versions d'artefacts transmises dans la charge utile des artefacts sont introuvables dans le système. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    L'exécution de la tâche a été détectée pour l'association (TE00012345) et le marqueur du post-traitement est défini sur true, mais toutes les versions d'artefacts n'ont pas été trouvées.

    Nombre total d'artefacts : 2

    create_package_association TASK_EXEC_POST_PROCESSING_PENDING Au cours d'un appel d'enregistrement de package, lorsque l'exécution de la tâche à l'origine de l'appel est détectée dans le système, mais n'a pas encore fait l'objet d'un post-traitement. En d'autres termes, l'événement de webhook Terminé pour cette exécution de tâche n'a pas encore été traité. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Exécution de tâche trouvée pour l'association (TE00012345), mais le marqueur de fin du post-traitement n'est pas défini sur true.

    Nombre total d'artefacts : 2

    create_package_association NO_TASK_EXECUTION_FOUND Au cours d'un appel d'enregistrement de package, lorsque l'exécution de la tâche à l'origine de l'appel n'a pas encore été détectée dans le système. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Exécution de tâche introuvable pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    Nombre total d'artefacts : 2

    create_package VERSION_NOT_FOUND Au cours d'un appel d'enregistrement de package, lorsque la version d'artefact transmise dans la charge utile des artefacts n'a pas encore été détectée dans le système. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Version d'artefact introuvable (name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    Nombre d'artefacts : 1 sur 2

    create_package VERSION_NOT_FOUND Au cours d'un appel d'enregistrement de package, lorsque la version d'artefact n'est pas transmise dans la charge utile des artefacts, mais qu'elle contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) pouvant servir à rechercher l'enregistrement d'exécution de la tâche, qui dans ce cas a été détecté et a fait l'objet d'un post-traitement, mais n'a aucun enregistrement de version d'artefact associé. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Version d'artefact non disponible dans la charge utile et introuvable à l'aide des détails d'exécution de la tâche (name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18) (TE00012345).

    Nombre d'artefacts : 1 sur 2

    create_package TASK_EXEC_POST_PROCESSING_PENDING Au cours d'un appel d'enregistrement de package, lorsque la version d'artefact n'est pas transmise dans la charge utile des artefacts, mais contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) pouvant servir à rechercher l'enregistrement d'exécution de la tâche, qui dans ce cas a été détecté, mais n'a pas encore fait l'objet d'un post-traitement. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Version d'artefact non disponible dans la charge utile et exécution de tâche détectée pour l'association, mais le marqueur de fin du post-traitement n'est pas défini sur true (name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18) (TE00012345).

    Nombre d'artefacts : 1 sur 2

    create_package NO_TASK_EXECUTION_FOUND Au cours d'un appel d'enregistrement de package, lorsque la version d'artefact n'est pas transmise dans la charge utile des artefacts, mais contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) pouvant servir à rechercher l'enregistrement d'exécution de la tâche, qui dans ce cas est introuvable. Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Version d'artefact non disponible dans la charge utile et exécution de tâche également introuvable pour l'association (name=TestArtifact, version=2.5, repositoryName=TestRepo, pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    Nombre d'artefacts : 1 sur 2

    create_package WAITING_FOR_OTHER_STAGED_REQUESTS Au cours d'un appel d'enregistrement de package, lorsque la version d'artefact transmise dans la charge utile des artefacts a été détectée dans le système, mais qu'elle doit attendre que les autres enregistrements de préproduction connexes soient traités (y compris les enregistrements create_package ou create_package_association). Non

    Votre demande d'enregistrement de package est en attente pour la raison suivante :

    Version de l'artefact trouvée, mais nécessité d'attendre les enregistrements intermédiaires restants de l'enregistrement du package.

    Nombre d'artefacts : 1 sur 2

    register_artifact TASK_EXEC_POST_PROCESSING_PENDING Au cours d'un appel d'enregistrement d'artefact, lorsque l'exécution de la tâche à l'origine de l'appel est détectée dans le système, mais n'a pas encore fait l'objet d'un post-traitement. En d'autres termes, l'événement de webhook « Terminé » pour cette exécution de tâche n'a pas encore été traité. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact créée et exécution de tâche détectée pour l'association (TE00012345), mais le marqueur de fin du post-traitement n'est pas défini sur true.

    register_artifact NO_TASK_EXECUTION_FOUND Au cours d'un appel d'enregistrement d'artefact, lorsque l'exécution de la tâche à l'origine de l'appel n'a pas encore été détectée dans le système. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact créée, mais exécution de tâche introuvable pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    register_artifact VERSION_ALREADY_REGISTERED Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact fournie dans la charge utile des artefacts d'un artefact et d'un référentiel donnés existe déjà dans le système. Oui (ignoré)

    Votre demande d'enregistrement d'artefact a été ignorée pour la raison suivante :

    La version de l'artefact a déjà été enregistrée.

    register_artifact NO_SUBFLOW_CONFIGURED Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts et que le webhook et le flux secondaire de recherche ne permettent pas de trouver l'enregistrement de version d'artefact. Oui (ignoré)

    Votre demande d'enregistrement d'artefact a été ignorée pour la raison suivante :

    Version de l'artefact non disponible dans la charge utile. Le webhook et le flux secondaire de recherche ne sont pas disponibles.

    register_artifact NO_TASK_EXECUTION_FOUND Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts, mais que le webhook est pris en charge et que l'enregistrement de la version d'artefact peut être trouvé, mais que l'exécution de la tâche à l'origine de l'appel n'est pas encore détectée dans le système. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact trouvée via le webhook, mais exécution de tâche introuvable pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    register_artifact TASK_EXEC_POST_PROCESSING_PENDING Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts, mais que le webhook est pris en charge et que l'enregistrement de la version d'artefact peut être trouvé, et que l'exécution de la tâche à l'origine de l'appel n'est pas encore détectée dans le système et n'a pas encore été traitée. En d'autres termes, l'événement de webhook Terminé pour cette exécution de tâche n'a pas encore été traité. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact trouvée via le webhook et exécution de tâche trouvée pour l'association (TE00012345), mais le marqueur de fin du post-traitement n'est pas défini sur vrai.

    register_artifact NO_TASK_EXECUTION_FOUND Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts, mais que flux secondaire de recherche est pris en charge et que l'enregistrement de la version d'artefact peut être trouvé, mais que l'exécution de la tâche à l'origine de l'appel n'est pas encore détectée dans le système. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact trouvée via la recherche, mais exécution de tâche introuvable pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18).

    register_artifact TASK_EXEC_POST_PROCESSING_PENDING Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts, mais que le flux secondaire de recherche est pris en charge et que l'enregistrement de la version d'artefact peut être trouvé, et que l'exécution de la tâche à l'origine de l'appel n'est pas encore détectée dans le système et n'a pas encore été traitée. En d'autres termes, l'événement de webhook Terminé pour cette exécution de tâche n'a pas encore été traité. Non

    Votre demande d'enregistrement d'artefact est en attente pour la raison suivante :

    Version d'artefact trouvée via la recherche et exécution de tâche trouvée pour l'association (TE00012345), mais le marqueur de fin du post-traitement n'est pas défini sur vrai.

    register_artifact ERROR_CALLING_SUBFLOW Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts et que le flux secondaire de recherche est pris en charge mais que la version d'artefact est introuvable. Oui (ignoré)

    Votre demande d'enregistrement d'artefact a été ignorée pour la raison suivante :

    Version de l'artefact non trouvée par le flux secondaire de recherche.

    register_artifact ERROR_CALLING_SUBFLOW Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts et que le flux secondaire de recherche est pris en charge mais que la version d'artefact est introuvable en raison d'une erreur dans le flux secondaire. Oui (ignoré)

    Votre demande d'enregistrement d'artefact a été ignorée pour la raison suivante :

    Version de l'artefact non trouvée par le flux secondaire de recherche en raison d'une erreur (reportez-vous à Journaux DevOps pour des détails supplémentaires).

    register_artifact ERROR_CALLING_SUBFLOW Au cours d'un appel d'enregistrement d'artefact, lorsque la version d'artefact n'est pas fournie dans la charge utile des artefacts et que le flux secondaire de recherche est pris en charge mais n'a pas été exécuté, car l'enregistrement d'artefact parent est introuvable dans le système. Oui (ignoré)

    Votre demande d'enregistrement d'artefact a été ignorée pour la raison suivante :

    Artefact non trouvé.