Partilhar via


Integre tarefas de pipeline de compilação personalizadas com extensões

Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022

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

Sugestão

Consulte a nossa documentação mais atual sobre o desenvolvimento de extensões usando o SDK da 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. Para saber mais, consulte Tipos de tarefas e uso.

Oferecemos muitas tarefas integradas 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ê cria uma tarefa de compilação ou liberação personalizada com uma extensão, sua extensão inclui um arquivo detask.json para cada tarefa de compilação ou versão. O arquivo task.json descreve a tarefa de compilação ou versão. 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.

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

Agrupe várias versões de tarefas de compilação ou 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

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 arquivo task.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
    • 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

Sugestão

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