Referencia: integración de tareas de compilación personalizadas en extensiones

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

Use esta referencia cuando quiera crear e integrar tareas de canalización de compilación personalizadas con extensiones en Azure DevOps.

Sugerencia

Consulte nuestra documentación más reciente sobre el desarrollo de extensiones mediante el SDK de extensión de Azure DevOps.

Tareas personalizadas

Las tareas son los bloques de creación para definir la automatización en una canalización de compilación o versión. Ofrecemos muchas tareas integradas para habilitar escenarios fundamentales de compilación e implementación. Se recomienda revisar estos escenarios antes de crear sus propios. Si las tareas existentes no satisfacen sus necesidades, puede crear una tarea personalizada.

JSON de la tarea de compilación personalizada

Al crear una tarea de compilación o versión personalizada con una extensión, la extensión incluye un task.json archivo para cada tarea de compilación o versión. El task.json archivo describe la tarea de compilación o versión. El sistema de compilación lo usa para representar las opciones de configuración al usuario y saber qué scripts ejecutar en tiempo de compilación.

La documentación del SDK de tareas de compilación y versión está en GitHub. En concreto, puede que le interese el esquema de task.json.

Agrupación de varias versiones de tareas de compilación o versión dentro de una extensión

Puede incluir varias versiones de una tarea de compilación o versión dentro de la extensión. Implemente versiones futuras de la extensión sin interrumpir el servicio de usuarios en versiones anteriores. La siguiente información muestra el diseño para tener varias versiones en una extensión.

Diseño de extensión tradicional

  • extensionManifest.json
  • extensionIcon.png
  • Task1
    • task.json
    • icon.png
    • taskScript.ps1

Nota:

Al configurar un icono de tarea, asegúrese de que lo siguiente es true.

  • El nombre del icono es icon.png
  • El tamaño del icono es de 32 x 32 píxeles.
  • El icono está en la misma ubicación que el archivo.task.json

Diseño de varias versiones

Nota:

El código busca el task.json archivo dentro de la carpeta de tareas y, a continuación, un nivel más profundo. Si no se encuentra uno en ningún nivel, verá un mensaje de error.

  • extensionManifest.json
  • extensionIcon.png
  • Task1
    • Task1V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task1V2
      • task.json
      • icon.png
      • taskScript.ps1
  • Task2
    • Task2V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task2V2
      • task.json
      • icon.png
      • taskScript.ps1

Sugerencia

Para asegurarse de que la _build/Tasks/ssrsfilesdeploy carpeta contiene el contenido V1 y V2, establezca matchCopy(item, srcPath, destPath, { noRecurse:false en el make-util.js archivo .