Sobre recursos para o Azure Pipelines

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

Um recurso é qualquer coisa usada por um pipeline que vive fora do pipeline.

Os recursos oferecem os seguintes benefícios:

  • Maneiras de compartilhar algo, como um arquivo seguro ou senha, entre pipelines.
    • Exemplos de uso de recursos para compartilhamento são grupos variáveis, arquivos seguros e conexões de serviço. Em todos os casos, você está usando um recurso como uma forma de um pipeline acessar e consumir algo.
  • Uma ferramenta para melhorar a segurança através de verificações de acesso e outras restrições.
    • Por exemplo, você pode limitar uma conexão de serviço para ser executada apenas em um pipeline. Você também pode garantir que um repositório só possa ser acessado a partir de um pipeline após uma verificação de aprovação manual.
  • Maneiras de melhorar a rastreabilidade para seu pipeline e facilitar a solução de problemas de ambientes.
    • Por exemplo, você pode ver o número da última execução que foi implantada em um ambiente.

Compartilhar recursos entre pipelines

Compartilhe recursos entre pipelines configurando-os na interface do usuário dos pipelines. Em seguida, faça referência a esses recursos em uma tarefa. Você também pode acessar alguns recursos compartilhados com a sintaxe do resources pipeline YAML.

Exemplos de compartilhamento de recursos com a interface do usuário de pipelines incluem arquivos seguros, grupos de variáveis e conexões de serviço. Com a sintaxe, os resources exemplos incluem o acesso aos próprios pipelines, repositórios e pacotes.

Como um recurso é usado em um pipeline depende do tipo de pipeline e tipo de recurso.

Para condutas YAML:

  • Conexões de serviço e arquivos seguros são usados diretamente como entradas para tarefas e não precisam ser pré-declarados.
  • Os grupos de variáveis usam a group sintaxe.
  • Pipelines e repositórios usam a resources sintaxe.

Por exemplo, para usar grupos de variáveis em um pipeline, adicione suas variáveis na Biblioteca de Pipelines>. Em seguida, você pode fazer referência ao grupo de variáveis em seu pipeline YAML com a variables sintaxe.

variables:
- group: my-variable-group

Para chamar um segundo pipeline do seu pipeline com a resources sintaxe, consulte pipelines.

resources:
  pipelines:
  - pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
    source: SmartHotel-CI # name of the pipeline that produces an artifact

Use recursos para melhorar a segurança

Você pode melhorar a segurança do seu pipeline com recursos, identificando como o recurso é consumido e como impedir o acesso não autorizado.

Apenas para pipelines YAML, defina os recursos como protegidos ou abertos. Quando um recurso está protegido, você pode aplicar aprovações e verificações para limitar o acesso a usuários específicos e pipelines YAML. Os recursos protegidos incluem conexões de serviço, pools de agentes, ambientes, repositórios, grupos de variáveis e arquivos seguros.

Resource Como é consumido? Como evitar que um pipeline não intencional use isso?
Conexões de serviço Consumido por tarefas em um arquivo YAML que usam a conexão de serviço como entrada. Protegido com verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas pelos usuários da conexão de serviço. Um proprietário de recurso pode controlar quais pipelines podem acessar uma conexão de serviço. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML específicos e todos os pipelines clássicos.
variáveis secretas em grupos de variáveis Existe uma sintaxe especial para o uso de grupos de variáveis em um pipeline ou em um trabalho. Um grupo de variáveis é adicionado como uma conexão de serviço. Protegido com verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas por usuários de grupos variáveis. Um proprietário de recurso pode controlar quais pipelines podem acessar um grupo de variáveis. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML específicos e todos os pipelines clássicos.
ficheiros seguros Os arquivos seguros são consumidos por tarefas (exemplo: tarefa Baixar arquivo seguro). Protegido com verificações e permissões de pipeline. Verificações e permissões de pipeline são controladas por usuários de arquivos seguros. Um proprietário de recurso pode controlar quais pipelines podem acessar arquivos seguros. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML específicos e todos os pipelines clássicos.
Pools de agentes Há uma sintaxe especial para usar um pool de agentes para executar um trabalho. Protegido com verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas pelos usuários do pool de agentes. Um proprietário de recurso pode controlar quais pipelines podem acessar um pool de agentes. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML específicos e todos os pipelines clássicos.
ambientes Há uma sintaxe especial para usar um ambiente em um YAML. Protegido com verificações e permissões de pipeline que são controladas por usuários do ambiente. Você também pode usar permissões de pipeline para restringir o acesso a um ambiente específico.
repositórios Um script pode clonar um repositório se o token de acesso ao trabalho tiver acesso ao repositório. Protegido com verificações e permissões de pipeline controladas por colaboradores do repositório. O proprietário de um repositório pode restringir a propriedade.
artefactos, itens de trabalho, condutas Os artefatos de pipeline são recursos, mas os artefatos do Azure não são. Um script pode baixar artefatos se o token de acesso ao trabalho tiver acesso ao feed. Um artefato de pipeline pode ser declarado como um recurso na seção de recursos – principalmente para a intenção de acionar o pipeline quando um novo artefato estiver disponível ou para consumir esse artefato no pipeline. Artefatos e itens de trabalho têm seus próprios controles de permissões. Não há suporte para verificações e permissões de pipeline para feeds.
contentores, embalagens, webhooks Eles vivem fora do ecossistema de DevOps do Azure e o acesso é controlado com conexões de serviço. Há uma sintaxe especial para usar todos os três tipos em pipelines YAML. Protegido com verificações e permissões de pipeline controladas por usuários de conexão de serviço.

Utilizar recursos para rastreabilidade

Os ambientes suportam os seguintes tipos de recursos:

Próximos passos