Referência - integrar tarefas de compilação personalizadas em extensões

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

Use essa referência quando quiser criar e integrar tarefas de pipeline de compilação personalizadas com extensões no Azure DevOps.

Dica

Confira nossa documentação mais recente sobre o desenvolvimento de extensão usando o SDK da Extensão do Azure DevOps.

Tarefas personalizadas

As tarefas são os blocos de construção para definir a automação em um pipeline de compilação ou versão. Oferecemos muitas tarefas internas para habilitar cenários fundamentais de compilação e implantação. Recomendamos que você analise esses cenários antes de criar o seu próprio. Se as tarefas existentes não satisfizerem suas necessidades, você poderá criar uma tarefa personalizada.

Tarefa de compilação personalizada JSON

Quando você está criando uma tarefa de compilação ou lançamento personalizada com uma extensão, sua extensão inclui um task.json arquivo para cada tarefa de compilação ou versão. O task.json arquivo descreve a tarefa de compilação ou liberação. O sistema de compilação o usa para renderizar opções de configuração para o usuário e para saber quais scripts executar em tempo de compilação.

A documentação do SDK da tarefa de compilação/liberação está no GitHub. Especificamente, você pode estar interessado no esquema task.json.

Agrupe várias versões de tarefas de compilação/lançamento em uma extensão

Você pode incluir várias versões de uma tarefa de compilação ou lançamento em sua extensão. Implemente versões futuras de sua extensão sem interromper o serviço de usuários em versões mais antigas. As informações a seguir mostram o layout para ter várias versões em uma extensão.

Layout de extensão tradicional

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

Observação

Ao configurar um ícone de tarefa, verifique se o seguinte é verdadeiro.

  • O nome do ícone é icon.png
  • O tamanho do ícone é 32x32 pixels
  • O ícone está no mesmo local que o task.json arquivo

Layout de várias versões

Observação

O código procura o task.json arquivo dentro da pasta de tarefas e, em seguida, um nível mais profundo. Se um não for encontrado em nenhum dos níveis, você verá uma mensagem de erro.

  • extensionManifest.json
  • extensionIcon.png
  • Tarefa1
    • Tarefa1V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Tarefa1V2
      • task.json
      • icon.png
      • taskScript.ps1
  • Tarefa2
    • Tarefa2V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Tarefa2V2
      • task.json
      • icon.png
      • taskScript.ps1

Dica

Para garantir que a _build/Tasks/ssrsfilesdeploy pasta contenha o conteúdo V1 e V2, defina matchCopy(item, srcPath, destPath, { noRecurse: como false no make-util.js arquivo.