Partilhar via


Recursos no Azure Pipelines

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

Um recurso no Azure Pipelines é uma entidade gerida à qual o seu pipeline se liga ou consome. Os recursos incluem ligações de serviços, pools de agentes, ambientes, grupos de variáveis, ficheiros seguros, repositórios e pacotes. Os recursos são fundamentais para o Azure Pipelines porque permitem conectar-se de forma segura a sistemas externos, partilhar configurações entre pipelines e manter registos de auditoria para conformidade e resolução de problemas.

Os recursos oferecem os seguintes benefícios:

  • Maneiras de compartilhar algo, como um arquivo seguro ou senha, entre pipelines.
  • Uma ferramenta para melhorar a segurança através de verificações de acesso e outras restrições.
    • Por exemplo, podes limitar uma ligação de serviço para correr apenas num pipeline. Também pode garantir que um repositório só é acedido a partir de um pipeline após uma verificação manual de aprovação.
  • Maneiras de melhorar a rastreabilidade para o seu pipeline e tornar mais fácil a resolução de problemas nos 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 diferentes pipelines configurando-os na UI dos pipelines. Em seguida, faça referência a esses recursos em uma tarefa. Também pode aceder a alguns recursos partilhados usando a resources sintaxe do 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. Exemplos de partilha de recursos utilizando a resources sintaxe incluem o acesso aos próprios pipelines, repositórios e pacotes.

A forma como utilizas um recurso num pipeline depende do tipo de pipeline e do tipo de recurso.

Para pipelines YAML:

Por exemplo, para usar grupos de variáveis em um pipeline, adicione suas variáveis na Biblioteca de Pipelines>. Referencie o grupo de variáveis no seu pipeline YAML usando a sintaxe variables.

variables:
- group: my-variable-group

Para chamar um segundo pipeline a partir do seu pipeline usando 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 ligações de serviço, pools de agentes, ambientes, repositórios, grupos de variáveis e ficheiros seguros.

Recurso Como é consumido? Como evitar que um pipeline não intencional use isso?
Conexões de serviço Requerido por tarefas que utilizam a conexão de serviço como entrada num ficheiro YAML. Protegido com verificações e permissões de processos. 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 aceder a uma conexão de serviço. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML particulares e a 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 ligação de serviço. Protegido com verificações e permissões de processos. 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 particulares e a 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 processos. As verificações e permissões de pipeline são controladas pelos utilizadores de ficheiros 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 particulares e a 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 processos. 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 grupo de agentes. Você também pode usar permissões de pipeline para restringir o acesso a pipelines YAML particulares e a 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 fluxo de trabalho controladas por colaboradores do repositório. O proprietário de um repositório pode restringir a propriedade.
artefactos, itens de trabalho, pipelines Os artefatos de pipeline são recursos, mas os artefatos do Azure não são. Um script pode descarregar Azure Artifacts se o token de acesso do trabalho tiver acesso ao feed. Um artefato de pipeline pode ser declarado como um recurso na seção de recursos – principalmente com o objetivo de acionar o pipeline quando um novo artefato estiver disponível, ou para consumir esse artefato no pipeline. Os artefactos Azure e itens de trabalho têm os seus próprios controlos de permissões. Não há suporte para verificações e permissões de pipeline em 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 tubulação controladas pelos utilizadores de ligação de serviço.

Utilizar recursos para rastreabilidade

Os ambientes suportam os seguintes tipos de recursos:

Próximos passos