Sobre os recursos do Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Um recurso é qualquer coisa usada por um pipeline e que resida fora do pipeline.
Os recursos oferecem os seguintes benefícios:
- Formas de compartilhar algo como um arquivo seguro ou senha entre pipelines.
- Como exemplos de uso de recursos para compartilhamento, temos grupos de 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 aumentar a segurança por meio 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 do 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, referencie esses recursos em uma tarefa. Você também pode acessar alguns recursos compartilhados com a resources
sintaxe do pipeline YAML.
Entre os exemplos de compartilhamento de recursos com a interface do usuário de pipelines, temos arquivos seguros, grupos de variáveis e conexões de serviço. Com a sintaxe resources
, os exemplos incluem acessar os próprios pipelines, repositórios e pacotes.
A forma como um recurso é usado em um pipeline depende do tipo de pipeline e do tipo de recurso.
Para pipelines YAML:
- As conexões de serviço e os arquivos seguros são usados diretamente como entradas para tarefas e não precisam ser declarados previamente.
- Os grupos de variáveis usam a sintaxe
group
. - Pipelines e repositórios usam a sintaxe
resources
.
Por exemplo, para usar grupos de variáveis em um pipeline, adicione suas variáveis emPipelines>Biblioteca. Em seguida, você pode referenciar o grupo de variáveis em seu pipeline YAML com a sintaxe variables
.
variables:
- group: my-variable-group
Para chamar um segundo pipeline a partir do seu pipeline com a sintaxe resources
, referencie 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
Usar recursos para aprimorar a segurança
Você pode aprimorar a segurança do pipeline com recursos ao identificar como o recurso é consumido e como impedir o acesso não autorizado.
Apenas para pipelines YAML, defina recursos como protegidos ou abertos. Quando um recurso estiver protegido, você poderá 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.
Recurso | Como ele é consumido? | Como impedir 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 por verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas por usuários de 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 as permissões de pipeline para restringir o acesso a pipelines YAML específicos e a todos os pipelines clássicos. |
variáveis secretas em grupos de variáveis | Existe uma sintaxe especial para usar 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 por verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas por usuários do grupo de variáveis. Um proprietário de recurso pode controlar quais pipelines podem acessar um grupo de variáveis. Você também pode usar as permissões de pipeline para restringir o acesso a pipelines YAML específicos e a todos os pipelines clássicos. |
arquivos seguros | Arquivos seguros são consumidos por tarefas (por exemplo: tarefa Baixar Arquivo Seguro). | Protegido por verificações e permissões de pipeline. As 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 as permissões de pipeline para restringir o acesso a pipelines YAML específicos 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 por verificações e permissões de pipeline. As verificações e permissões de pipeline são controladas por usuários de pool de agentes. Um proprietário de recurso pode controlar quais pipelines podem acessar um pool de agentes. Você também pode usar as permissões de pipeline para restringir o acesso a pipelines YAML específicos 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 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 poderá clonar um repositório se o token de acesso do trabalho tiver acesso ao repositório. | Protegido com verificações e permissões de pipeline controladas por colaboradores do repositório. Um proprietário do repositório pode restringir a propriedade. |
artefatos, itens de trabalho, pipelines | Os artefatos de pipeline são recursos, mas o Azure Artifacts não. Um script poderá 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 com a intenção de disparar 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. |
contêineres, pacotes, webhooks | Eles residem fora do ecossistema do Azure DevOps, e o acesso é controlado com conexões de serviço. Há uma sintaxe especial para usar 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. |
Usar recursos para rastreabilidade
Os ambientes dão suporte aos seguintes tipos de recursos: