---
sourceDocument: Gestion des services IT Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Xanadu

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Artefacts et packages

# Artefacts et packages {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 14 minutes de lecture

Les artefacts et les packages permettent Changements de vélocité 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 que l'activité du pipeline stockée dans le DevOps modèle de données peut être récupérée et appliquée 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 sont suivies de sorte que, quel que soit le moment où la version d'artefact est déployée, ces détails peuvent être récupérés. Il peut s'agir de l'exécution actuelle du pipeline, d'une exécution ultérieure du même pipeline, d'un pipeline déclenché par le pipeline actuel ou d'un pipeline distinct déclenché indépendamment.

Lorsque vous associez des validations à une version d'artefact (pipeline CI) et définissez un package d'artefact (pipeline 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.  
DevOps Attributs de demande de changement :

* La catégorie DevOps ou la case à cocher Catégoriser les demandes de changement DevOps dans le champ \<\< Changement DevOps \>\> est sélectionnée dans DevOps les propriétés. Pour plus d'informations, consultez [DevOps demande de changement sans imposer la catégorie comme DevOps](https://servicenow-prod.fluidtopics.net/aO~FS0CTO7kbRLAQQz5AHg "Activez la catégorisation DevOps des demandes de changement à partir des DevOps propriétés. Les demandes de changement créées dans le cadre des étapes d’exécution du pipeline peuvent être créées avec une catégorie autre que DevOps.").
* Listes associées des validations et des éléments de travail
{#using-dev-ops-release-change__ul_tbs_m2x_rkb}

Packages  
Un package suit quand une ou plusieurs versions d'artefact sont utilisées dans un pipeline de déploiement. Cela 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 de la publication réussie d'une version d'artefact spécifique, ce qui garantit que les informations qui y sont liées ne sont plus prises en compte. Par exemple, pour les demandes de changement ultérieures.
{#using-dev-ops-release-change__ol_gkm_mtq_d1c}

## Configuration de l'artefact {#using-dev-ops-release-change__section_tf5_l24_rkb}

1. [Créez un enregistrement d'outil d'artefact dans DevOps](https://servicenow-prod.fluidtopics.net/Xgg97WD1kAH8ciyPXk5Riw "Intégrez vos outils d’orchestration, de planification, de codage, d’artefact, de qualité logicielle et de sécurité à Changements de vélocité DevOps la traçabilité et à l’automatisation des modifications de bout en bout.").  
   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 CI.
3. Créer un package dans le pipeline CD.  
   Remarque :  
   L'étape de création du package doit être antérieure à l'étape de déploiement du produit.
{#using-dev-ops-release-change__ol_b4v_n24_rkb}

## Enregistrement de l'artefact {#using-dev-ops-release-change__section_anl_cyb_rkb}

Configurez l'enregistrement d'artefact dans un pipeline scripté ou une tâche freestyle à l'aide de [l'API DevOps](https://www.servicenow.com/docs/access?context=devops-api&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US) <kbd class="ph userinput">/artifact/registration</kbd> endpoint. Plusieurs versions d'artefacts sont prises en charge.  
Pour Jenkins le pipeline :

* 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 création Enregistrer l'artefact )

  Par exemple :

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

{#using-dev-ops-release-change__ul_iwf_dfb_rkb}

## Création de package d'artefact {#using-dev-ops-release-change__section_ixz_nyb_rkb}

Important :  
Vous devez ajouter l'étape de création de package avant l'étape de changement dans votre pipeline, et la création de package doit être ajoutée 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 de package d'artefact dans un pipeline scripté ou une tâche Freestyle à l'aide du point de terminaison /<kbd class="ph userinput">package/registration de l’API</kbd>[DevOps](https://www.servicenow.com/docs/access?context=devops-api&version=xanadu&pubname=xanadu-api-reference&ft:locale=en-US).  
Remarque :  
Le nom du package doit être spécifié.
Pour Jenkins le pipeline :

* Tâche Freestyle (étape Créer une version du package )

  Par exemple :  

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

* Pipeline déclaratif et scripté (commande snDevOpsPackage Jenkinsfile)

  Package avec plus d'un artefact (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"}""")

{#using-dev-ops-release-change__ul_ntg_kyb_rkb}  
Remarque :  
Lorsqu'une version d'artefact n'est pas disponible pendant la génération, les détails de la version (pipelineName ou projectName, taskExecutionNumber, stageName, branchName) sont utilisés pour rechercher la version de l'artefact dans l'exécution de la tâche.

Jenkins L'étape du module <kbd class="ph userinput">d’extension includeBuildInfo</kbd> peut être utilisée pour inclure des détails de version dans l'appel d'API.

## Workflow et objets d'artefact {#using-dev-ops-release-change__section_ul3_gqc_rkb}

La tâche de l'outil d'orchestration publie le nouvel artefact (comprenant les versions) dans le référentiel d'artefacts. Chaque version d'artefact est associée à une exécution de tâche (comprenant les 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érentiel d'artefacts tels qu'Artifactory JFrog .  
  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, ainsi qu'une source d'artefacts requis par une version. Peut être créé manuellement ou via l'API RegisterArtifact à mesure que de nouveaux artefacts sont publiés sous de nouveaux référentiels dans un outil.
* Artifact

  Nom de l'artefact pour lequel différentes versions (versions de l'artefact) 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é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éé via la détection 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, est utilisé pour déterminer les validations d'un changement. Le format de version sémantique est (MAJOR. MINEUR. PATCH).
* Package

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

  La création de package est déclenchée par 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.
{#using-dev-ops-release-change__ul_jdc_jmr_21c}  
DevOps Accélération du changement pour les mises en production :  
Figure 1. DevOps demande de changement -- catégorie DevOps  
Figure 2. DevOps Demande de changement : validations et éléments de travail  
Figure 3. DevOps Liste des versions d'artefacts  
Figure 4. DevOps Version de l'artefact : validations  
Figure 5. DevOps Version de l'artefact : packages  
Figure 6. DevOps colis

Vous pouvez également voir toutes les demandes de changement de pipeline existantes directement à partir du module Changements du navigateur d'application.  
Figure 7. Module des changements

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

Accédez à la Espace de travail de changement DevOpsChangementsDemandes de changement de pipelineTout pour toute information relative au changement.

Demandes de changement de pipeline  
Figure 8. Module de liste

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

Accédez à la Espace de travail de changement DevOpsListesArtifact pour toute information relative à l'artefact.

## Surveillance des artefacts et des colis {#using-dev-ops-release-change__section_ynj_414_d1c}

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

La plupart du temps, ces enregistrements intermédiaires sont traités en quelques secondes. Mais il peut y avoir des cas où les données nécessaires ne sont jamais reçues, de sorte que ces enregistrements peuvent être laissés inactifs. Le champ Description du tableau ci-dessous contient un résumé des détails manquants dans de tels cas pour faciliter la surveillance.  
Remarque :  
Il est recommandé d'avoir des noms d'artefacts uniques pour les versions de version, c'est-à-dire des noms d'artefacts différents pour les versions s'exécutant sur différentes versions de branches.  
{#using-dev-ops-release-change__table_gf4_kd4_d1c__entry__5}

| Type d'étape | Code intermédiaire | Quand cela peut-il se produire ? | État final ? | Description |
|-|-|-|-|-|
| create_package_association | WAITING_FOR_OTHER_STAGED_REQUESTS | Lors 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 post-traitée, mais que toutes les versions d'artefacts transmises dans la charge utile des artefacts n'ont pas été trouvées dans le système. | Non | Votre demande d'enregistrement de package est en attente pour la raison suivante : Exécution de la tâche trouvée pour l'association (TE00012345) et le marqueur de post-traitement est défini sur vrai, mais toutes les versions de l'artefact n'ont pas été trouvées. Nombre total d'artefacts : 2 |
| create_package_association | TASK_EXEC_POST_PROCESSING_PENDING | Lors d'un appel d'enregistrement de package, lorsque l'exécution de la tâche d'où provient l'appel est détectée dans le système, mais n'a pas encore été post-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 de package est en attente pour la raison suivante : Exécution de la tâche trouvée pour l'association (TE00012345), mais le marqueur de fin du post-traitement n'est pas défini sur vrai. Nombre total d'artefacts : 2 |
| create_package_association | NO_TASK_EXECUTION_FOUND | Lors d'un appel d'enregistrement de package, lorsque l'exécution de la tâche d'où provient l'appel n'est pas encore trouvée dans le système. | Non | Votre demande d'enregistrement de package est en attente pour la raison suivante : Exécution de tâche non trouvée pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). Nombre total d'artefacts : 2 |
| create_package | VERSION_NOT_FOUND | Lors d'un appel d'enregistrement de package, lorsque la version de l'artefact transmise dans la charge utile des artefacts n'a pas encore été trouvée dans le système. | Non | Votre demande d'enregistrement de package est en attente pour la raison suivante : Version de l'artefact non trouvée (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 de l'artefact n'est pas transmise dans la charge utile des artefacts, mais qu'elle contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) qui peut être utilisé pour rechercher l'enregistrement d'exécution de la tâche, qui dans ce cas est trouvé et post-traité, 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 de l'artefact non disponible dans la charge utile et non trouvée à 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 de l'artefact n'est pas transmise dans la charge utile des artefacts, mais qu'elle contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) qui peut être utilisé pour rechercher l'enregistrement d'exécution de la tâche, qui dans ce cas est trouvé mais pas encore post-traité. | Non | Votre demande d'enregistrement de package est en attente pour la raison suivante : Version de l'artefact non disponible dans la charge utile et exécution de la tâche trouvée pour l'association, mais le marqueur de fin du post-traitement n'est pas défini sur vrai (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 | Lors d'un appel d'enregistrement de package, lorsque la version de l'artefact n'est pas transmise dans la charge utile des artefacts, mais qu'elle contient un taskExecutionSysId ou (pipelineName, stageName, taskExecutionNumber) qui peut être utilisé pour 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 de l'artefact non disponible dans la charge utile et exécution de la tâche également non trouvée 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 | Lors d'un appel d'enregistrement de package, lorsque la version de l'artefact transmise dans la charge utile des artefacts a été trouvée dans le système, mais qu'elle doit attendre que les autres enregistrements intermédiaires 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 | Lors 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 été post-traitée. C'est-à-dire que 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 de l'artefact créée et exécution de la tâche trouvée pour l'association 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 | Lors d'un appel d'enregistrement d'artefact, lorsque l'exécution de la tâche d'où provient l'appel n'est pas encore trouvée dans le système. | Non | Votre demande d'enregistrement d'artefact est en attente pour la raison suivante : Version de l'artefact créée, mais exécution de la tâche non trouvée pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| register_artifact | VERSION_ALREADY_REGISTERED | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'artefact fournie dans la charge utile des artefacts pour un artefact et 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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'artefact peut être trouvé, mais que l'exécution de la tâche d'où provient l'appel n'est pas encore trouvée dans le système. | Non | Votre demande d'enregistrement d'artefact est en attente pour la raison suivante : Version de l'artefact trouvée via le webhook, mais exécution de la tâche non trouvée 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 de l'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 de l'artefact peut être trouvé, et que l'exécution de la tâche d'où provient l'appel est trouvée dans le système, mais n'a pas encore été post-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 de l'artefact trouvée via le webhook et exécution de la 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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'artefact peut être trouvé, mais que l'exécution de la tâche d'où provient l'appel n'est pas encore trouvée dans le système. | Non | Votre demande d'enregistrement d'artefact est en attente pour la raison suivante : Version de l'artefact trouvée via la recherche, mais exécution de la tâche non trouvée pour l'association (pipelineName=TestPipeline, stageName=Package, taskExecutionNumber=18). |
| register_artifact | TASK_EXEC_POST_PROCESSING_PENDING | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'artefact peut être trouvé, et que l'exécution de la tâche d'où provient l'appel est trouvée dans le système, mais n'a pas encore été post-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 de l'artefact trouvée via la recherche et exécution de la 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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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 de l'artefact n'a pas pu être trouvée 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 | Lors d'un appel d'enregistrement d'artefact, lorsque la version de l'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é. |
[ ]

{#using-dev-ops-release-change__table_gf4_kd4_d1c}
* **[Validations incluses dans la DevOps demande de changement](https://servicenow-prod.fluidtopics.net/gtWYBCBs2UauzE2VM5JK6Q)**   
  Le DevOps package d'artefact et ses versions d'artefacts associées sont utilisés pour déterminer quelles validations sont incluses dans un DevOps changement.

