Référence : intégrer des tâches de génération personnalisées dans des extensions

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Utilisez cette référence lorsque vous souhaitez créer et intégrer des tâches de pipeline de build personnalisées avec des extensions dans Azure DevOps.

Conseil

Consultez notre documentation la plus récente sur le développement d’extensions à l’aide du Kit de développement logiciel (SDK) d’extension Azure DevOps.

Tâches personnalisées

Les tâches sont les blocs de construction pour définir l’automatisation dans un pipeline de build ou de mise en production. Nous offrons de nombreuses tâches intégrées pour permettre des scénarios de génération et de déploiement fondamentaux. Nous vous recommandons de passer en revue ces scénarios avant de créer vos propres scénarios. Si les tâches existantes ne répondent pas à vos besoins, vous pouvez créer une tâche personnalisée.

Json de tâche de génération personnalisée

Lorsque vous créez une tâche de build ou de mise en production personnalisée avec une extension, votre extension inclut un task.json fichier pour chaque tâche de génération ou de mise en production. Le task.json fichier décrit la tâche de génération ou de mise en production. Le système de génération l’utilise pour afficher les options de configuration à l’utilisateur et connaître les scripts à exécuter au moment de la génération.

La documentation du Kit de développement logiciel (SDK) de tâche de build/mise en production se trouve sur GitHub. Plus précisément, vous serez peut-être intéressé par le schéma task.json.

Regrouper plusieurs versions des tâches de build/mise en production au sein d’une seule extension

Vous pouvez inclure plusieurs versions d’une tâche de build ou de mise en production dans votre extension. Déployez les futures versions de votre extension sans interrompre le service des utilisateurs sur les versions antérieures. Les informations suivantes montrent la disposition pour avoir plusieurs versions dans une seule extension.

Disposition d’extension traditionnelle

  • extensionManifest.json
  • extensionIcon.png
  • Tâche1
    • task.json
    • icon.png
    • taskScript.ps1

Remarque

Lorsque vous configurez une icône de tâche, vérifiez que la valeur suivante est vraie.

  • Le nom de l’icône est icon.png
  • La taille de l’icône est de 32 x 32 pixels
  • L’icône se trouve dans le même emplacement que le task.json fichier

Disposition de plusieurs versions

Remarque

Le code recherche le task.json fichier à l’intérieur du dossier de tâches, puis un niveau plus approfondi. Si l’un d’eux n’est pas trouvé dans l’un ou l’autre niveau, un message d’erreur s’affiche.

  • extensionManifest.json
  • extensionIcon.png
  • Tâche1
    • Task1V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task1V2
      • task.json
      • icon.png
      • taskScript.ps1
  • Tâche2
    • Task2V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task2V2
      • task.json
      • icon.png
      • taskScript.ps1

Conseil

Pour vous assurer que le _build/Tasks/ssrsfilesdeploy dossier contient le contenu V1 et V2, défini matchCopy(item, srcPath, destPath, { noRecurse: false sur le make-util.js fichier.