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: