Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure DevOps Serviços | Azure DevOps Server | Azure DevOps Server 2022
Este artigo explica como criar e direcionar ambientes Azure Pipelines. Um ambiente é um grupo de recursos que você pode direcionar com implantações de um pipeline.
Um ambiente representa um destino lógico onde seu pipeline implanta software. Os nomes comuns do ambiente incluem Dev, Test, QA, Preparação e Produção.
Nota
Ambientes Azure DevOps não estão disponíveis em pipelines Classic. Para pipelines clássicos, os grupos de implantação fornecem funcionalidade semelhante.
Os ambientes oferecem os seguintes benefícios:
Histórico de implantação. O nome do pipeline e os detalhes de execução são registados para implementações em um ambiente e nos seus recursos. No contexto de vários pipelines destinados ao mesmo ambiente ou recurso, você pode usar o histórico de implantação de um ambiente para identificar a origem das alterações.
Rastreabilidade de commits e de itens de trabalho. Você pode visualizar os trabalhos na execução do pipeline que têm como alvo um ambiente. Você também pode ver os commits e itens de trabalho que foram recém-implantados no ambiente. A rastreabilidade também permite acompanhar se uma confirmação de alteração de código ou um item de trabalho de correção de erros chegou a um ambiente.
Saúde do recurso de diagnóstico. Você pode validar se o aplicativo está funcionando no estado desejado.
Segurança. Você pode proteger os ambientes especificando quais utilizadores e pipelines estão autorizados a aceder a um ambiente.
Um ambiente é um agrupamento de recursos em que os próprios recursos representam destinos de implantação reais. Os ambientes do Azure Pipelines atualmente suportam os tipos de recursos Kubernetes e máquina virtual.
Se uma pipeline YAML se referir a um ambiente que não existe:
Quando o utilizador que realiza a operação é conhecido e as permissões podem ser atribuídas, o Azure Pipelines cria automaticamente o ambiente.
Quando o Azure Pipelines não tem informação sobre o utilizador que está a executar a operação, por exemplo numa atualização YAML de um editor de código externo, o pipeline falha.
Pré-requisitos
| Categoria | Requerimentos |
|---|---|
| Azure DevOps | - Um projeto Azure DevOps. - Capacidade de executar pipelines em agentes hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar um nível gratuito. - Conhecimentos básicos de YAML e Azure Pipelines. Para obter mais informações, consulte Criar seu primeiro pipeline. Permissões: Para adicionar ambientes, a função Criador para ambientes em seu projeto. Por padrão, os membros dos grupos Administradores de compilação, Administradores de versão e Administradores de projeto também podem criar ambientes. |
| Azure | Uma subscrição Azure. |
Criar um ambiente
Para criar seu primeiro ambiente:
Inicie sessão na sua organização de Azure DevOps em
https://dev.azure.com/{yourorganization}e abra o seu projeto.Selecione PipelinesEnvironmentsCriar ambiente.
Captura de ecrã que mostra os ambientes.
Insira informações para o ambiente e selecione Criar. Você pode adicionar recursos a um ambiente existente mais tarde.
Captura de tela da criação de um novo ambiente.
Gorjeta
Crie um ambiente vazio e faça referência a ele a partir de tarefas de implementação para associar o histórico de implementação ao ambiente.
Para criar e gerir ambientes programáticamente, use a API REST Azure DevOps Environments.
Pode usar o Azure Pipelines para implementar em ambientes. Para mais informações, consulte Compilar e implantar no Azure Kubernetes Service com Azure Pipelines.
Direcionar um ambiente a partir de um trabalho de implantação
Um trabalho de implantação contém etapas que são executadas sequencialmente. Você pode usar um trabalho de implantação para direcionar um grupo inteiro de recursos de ambiente, conforme mostrado no trecho YAML de exemplo a seguir. O pipeline é executado na máquina porque esse nome do recurso é especificado.
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
# creates an environment if it doesn't exist
environment:
name: 'smarthotel-dev'
resourceName: myVM
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
Almejar um recurso de ambiente específico a partir de uma tarefa de implantação
Você pode definir o escopo do destino de implantação para um recurso específico dentro do ambiente, para que possa registrar o histórico de implantação no recurso específico. As etapas do trabalho de implantação herdam os detalhes da ligação ao serviço automaticamente a partir do recurso a que o trabalho de implantação se destina.
No exemplo a seguir, o valor para o passa automaticamente da entrada para a tarefa.
environment:
name: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@1
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: $(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: $(imagePullSecret)
containers: $(containerRegistry)/$(imageRepository):$(tag)
Nota
Se estiver a utilizar um cluster AKS privado, certifique-se de que está ligado à rede virtual do cluster, uma vez que o ponto de extremidade do servidor API não está exposto através de um endereço IP público.
O Azure Pipelines recomenda configurar um agente auto-hospedado dentro de uma VNET que tenha acesso à rede virtual do cluster. Consulte Opções para conexão com o cluster privado para obter detalhes.
Utilizar verificações de aprovação manuais
Para controlar implementações em ambientes de produção, o Azure Pipelines suporta verificações manuais de aprovação. Essas verificações permitem que os proprietários de recursos controlem o momento em que um estágio do pipeline consome o recurso. Os proprietários de recursos podem definir aprovações e verificações que devem ser satisfeitas antes que um estágio que consuma esse recurso possa começar.
As funções Criador, Administrador e Usuário do ambiente, mas não a função Leitor, podem gerenciar aprovações e verificações. Como proprietário de um ambiente, você pode controlar manualmente quando um estágio deve ser executado usando verificações de aprovação. Para obter mais informações, consulte Definir aprovações e verificações.
Ver ambientes em detalhes de execução
Na aba Ambientes dos detalhes de execução do pipeline, é possível visualizar todos os ambientes que foram alvo dos trabalhos de implantação de uma execução de pipeline.
Captura de tela que mostra Ambientes em detalhes de execução.
Nota
Se estiveres a usar um cluster privado do Azure Kubernetes Service (AKS), o separador Environments não está disponível.
Ver o histórico de implementações
Pode selecionar o separador Deployments na secção Azure Pipelines Environments para ver o histórico de implementações.
Ver trabalhos em todos os pipelines que visam um ambiente específico. Por exemplo, dois microsserviços que têm seu próprio pipeline podem ser implantados no mesmo ambiente. O histórico de implantação ajuda a identificar todos os pipelines que afetam o ambiente e também ajuda a visualizar a sequência de implantações por cada pipeline.
Captura de tela que mostra a listagem do histórico de implantação.
Para analisar os detalhes do trabalho, selecione os separadores Alterações e Itens de trabalho numa página de implantação. As guias mostram listas de commits e itens de trabalho implementados no ambiente. Cada item de lista representa novos itens nessa implantação.
Na guia Alterações, a primeira listagem inclui todas as confirmações até esse ponto, e as listagens a seguir incluem apenas as alterações para esse trabalho. Se vários commits estiverem vinculados à mesma tarefa, haverá vários resultados na aba Alterações.
Captura de tela de confirmações no histórico de implantação.
Se vários itens de trabalho estiverem vinculados ao mesmo trabalho, haverá vários resultados na guia Itens de trabalho.
Captura de ecrã de itens de trabalho no histórico de implantação.
Segurança
Você pode proteger seus ambientes definindo permissões de usuário e permissões de pipeline.
Permissões de utilizador
Você pode controlar quem pode criar, exibir, usar e gerenciar ambientes com permissões de usuário. Há quatro funções: Criador com um escopo de todos os ambientes, Leitor, Usuário e Administrador.
Para adicionar um utilizador usando o painel de Permissões de utilizador de um ambiente, vá para o Ambiente específico que deseja autorizar, selecione o ícone Mais ações e, em seguida, selecione Segurança.
No painel Permissões de utilizador da página Segurança, selecione Adicionar e, em seguida, selecione um Utilizador ou grupo e uma Função adequada.
No painel de permissões de utilizador, pode também definir as permissões herdadas e sobrepor os papéis para o seu ambiente.
| Função | Descrição |
|---|---|
| Criador | Função global, disponível na opção de segurança do hub de ambientes. Os membros dessa função podem criar o ambiente no projeto. Os contribuidores são adicionados como membros por padrão. Necessário para acionar um pipeline YAML quando o ambiente ainda não existe. |
| Reader | Os membros deste papel podem ver o ambiente. |
| User | Os membros dessa função podem usar o ambiente ao criar ou editar pipelines YAML. |
| Administradores | Os membros dessa função podem administrar permissões, criar, gerenciar, exibir e usar ambientes. Para um ambiente específico, seu criador é adicionado como Administrador por padrão. Os administradores também podem abrir o acesso a um ambiente para todos os pipelines. |
Importante
Quando você cria um ambiente, somente o criador tem a função de administrador.
| Função | Descrição |
|---|---|
| Criador | Função global, disponível na opção de segurança do hub de ambientes. Os membros dessa função podem criar o ambiente no projeto. Os contribuidores são adicionados como membros por padrão. Necessário para acionar um pipeline YAML quando o ambiente ainda não existe. |
| Reader | Os membros deste papel podem ver o ambiente. |
| User | Os membros dessa função podem usar o ambiente ao criar ou editar pipelines YAML. |
| Administradores | Além de utilizar o ambiente, os membros desta função podem gerir a associação de todas as outras funções no ambiente. Os criadores são adicionados como membros por padrão. |
Permissões de pipeline
Use o painel Permissões de Pipeline da Página de Segurança para autorizar todos os pipelines ou pipelines selecionados para implementação no ambiente.
Para remover o acesso aberto no ambiente ou recurso, selecione Restringir permissão em permissões de pipeline.
Quando as permissões são restritas, você pode permitir que pipelines específicos sejam implantados no ambiente ou em um recurso específico. Selecione e escolha na lista de pipelines permitidos.
FAQ
Por que recebo uma mensagem de erro quando tento criar um ambiente?
Se vir a mensagem Acesso negado: {Utilizador} precisa de permissões de Criar para executar a ação, vá a Definições da Organização para verificar se tem a função de Stakeholder. A função Stakeholder não pode criar ambientes porque as partes interessadas não têm acesso ao repositório.
Altere o nível de acesso e, em seguida, verifique se consegue criar ambientes. Para obter mais informações, veja FAQ sobre a gestão de utilizadores e permissões.
Por que recebo uma mensagem de erro que informa que não é possível encontrar um ambiente?
Se vir a mensagem Trabalho XXXX: Ambiente XXXX não foi encontrado. O ambiente não existe ou não foi autorizado para uso., existem várias razões possíveis para a falha.
Os parâmetros de runtime não funcionam durante a criação de ambientes, porque os parâmetros são expandidos apenas no runtime. Pode utilizar variáveis para criar um ambiente ou templateContext para transmitir propriedades para modelos.
Quando se refere a um ambiente que não existe num ficheiro de pipeline YAML, o Azure Pipelines cria automaticamente o ambiente nos seguintes casos:
- Você usa o assistente de criação de pipelines YAML na experiência web do Azure Pipelines e refere-se a um ambiente que ainda não foi criado.
- Você atualiza o ficheiro YAML usando o editor web do Azure Pipelines e guarda o pipeline depois de adicionar a referência ao ambiente.
Nos casos seguintes, o Azure Pipelines não tem informação sobre o utilizador que criou o ambiente, pelo que o pipeline falha:
- Atualiza o ficheiro YAML com outro editor de código externo.
- Adiciona uma referência a um ambiente que não existe e, em seguida, faz com que seja acionado um pipeline de integração manual ou contínuo.
Anteriormente, o Azure Pipelines tratava destes casos adicionando todos os contribuintes do projeto ao papel de administrador do ambiente. Desta forma, qualquer membro do projeto podia alterar estas permissões e impedir que outras pessoas acedessem ao ambiente. Para evitar este resultado, o Azure Pipelines agora falha nestes trabalhos.
Artigos relacionados
- Definir aprovações e verificações
- Definir variáveis
- Definir recursos no YAML