Compartilhar via


Integrar tarefas de pipeline de build personalizadas com extensões

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

Use essa referência quando quiser criar e integrar tarefas de pipeline de build 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

Tarefas são os blocos de construção para definir a automação em um pipeline de build ou lançamento. Para saber mais, consulte Tipos de tarefa e uso.

Oferecemos muitas tarefas internas para habilitar cenários fundamentais de build e implantação. Recomendamos que você examine esses cenários antes de criar seus próprios cenários. Se as tarefas existentes não atenderem às suas necessidades, você poderá criar uma tarefa personalizada.

JSON de tarefa de build personalizada

Quando você cria uma tarefa de build ou versão personalizada com uma extensão, sua extensão inclui um arquivo task.json para cada tarefa de build ou versão. O arquivo task.json descreve a tarefa de build ou versão. O sistema de build usa-o para renderizar as opções de configuração para o usuário e saber quais scripts executar no momento da compilação.

Para saber mais, confira a documentação do SDK da tarefa de build e lançamento no GitHub. Especificamente, você pode estar interessado no esquematask.json.

Agrupar várias versões de tarefas de build ou versão em uma extensão

Você pode incluir várias versões de uma tarefa de build ou lançamento dentro de sua extensão. Implemente versões futuras da 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

Quando você estiver configurando um ícone de tarefa, verifique se o seguinte é verdadeiro.

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

Layout de múltiplas versões

Observação

O código procura o arquivo task.json 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
    • Tarefa 1V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Tarefa 1V2
      • task.json
      • icon.png
      • taskScript.ps1
  • Tarefa2
    • Tarefa 2V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Tarefa 2V2
      • task.json
      • icon.png
      • taskScript.ps1

Dica

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