Partilhar via


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

Serviços de DevOps do Azure | 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.

Gorjeta

Confira nossa documentação mais recente sobre desenvolvimento de extensões usando o SDK de 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 permitir 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 as suas necessidades, pode criar uma tarefa personalizada.

Tarefa de compilação personalizada JSON

Quando você está criando uma tarefa de compilação ou liberação 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 lançamento. O sistema de compilação usa-o para renderizar opções de configuração para o usuário e para saber quais scripts executar no momento da 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 da 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

Nota

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

Nota

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

Gorjeta

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