Criar e selecionar um ambiente
Serviços de DevOps do Azure | Azure DevOps Server 2022 | Azure DevOps Server 2020
Um ambiente é uma coleção de recursos que você pode direcionar com implantações de um pipeline. Exemplos típicos de nomes de ambiente são Dev, Test, QA, Staging e Production. Um ambiente de DevOps do Azure representa um destino lógico onde seu pipeline implanta software.
Os ambientes de DevOps do Azure não estão disponíveis em pipelines clássicos. Para pipelines clássicos, os grupos de implantação oferecem funcionalidade semelhante.
Os ambientes oferecem os seguintes benefícios.
Benefício | Description |
---|---|
Histórico de implantação | O nome do pipeline e os detalhes da execução são registrados para implantações em um ambiente e seus recursos. No contexto de vários pipelines destinados ao mesmo ambiente ou recurso, o histórico de implantação de um ambiente é útil para identificar a origem das alterações. |
Rastreabilidade de autorizações e itens de trabalho | Exiba trabalhos dentro da execução de pipeline que visam um ambiente. Você também pode exibir as confirmações e os itens de trabalho que foram recém-implantados no ambiente. A rastreabilidade também permite rastrear se uma alteração de código (confirmação) ou recurso/correção de bug (itens de trabalho) chegou a um ambiente. |
Integridade do recurso de diagnóstico | Valide se o aplicativo está funcionando no estado desejado. |
Segurança | Proteja ambientes especificando quais usuários e pipelines têm permissão para direcionar um ambiente. |
Embora um ambiente seja um agrupamento de recursos, os próprios recursos representam destinos de implantação reais. Os tipos de recurso Kubernetes e máquina virtual são suportados no momento.
Quando você cria um pipeline YAML e se refere a um ambiente que não existe, o Azure Pipelines cria automaticamente o ambiente quando o usuário que executa a operação é conhecido e as permissões podem ser atribuídas. Quando o Azure Pipelines não tem informações sobre o usuário que está criando o ambiente (por exemplo: uma atualização do YAML de um editor de código externo), seu pipeline falhará se o ambiente ainda não existir.
Pré-requisitos
- Você precisa ter a função Criador de Ambientes para adicionar um Ambiente.
Criar um ambiente
Inicie sessão na sua organização:
https://dev.azure.com/{yourorganization}
e selecione o seu projeto.Selecione Pipelines>Environments>Criar ambiente.
Insira informações para o ambiente e selecione Criar. Os recursos podem ser adicionados a um ambiente existente posteriormente.
Use um Pipeline para criar e implantar em ambientes também. Para obter mais informações, consulte o guia de instruções.
Gorjeta
Você pode criar um ambiente vazio e fazer referência a ele a partir de trabalhos de implantação. Isso permite registrar o histórico de implantação no ambiente.
Direcionar um ambiente a partir de um trabalho de implantação
Um trabalho de implantação é uma coleção de etapas a serem executadas sequencialmente. Um trabalho de implantação pode ser usado para direcionar um ambiente inteiro (grupo de recursos), conforme mostrado no trecho YAML a seguir. O pipeline será executado na máquina myVM porque o 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
Direcionar um recurso específico dentro de um ambiente a partir do trabalho de implantação
Você pode definir o escopo do destino de implantação para um recurso específico dentro do ambiente. Em seguida, você pode registrar o histórico de implantação em um recurso específico dentro do ambiente. As etapas do trabalho de implantação herdam automaticamente os detalhes da conexão de serviço do recurso direcionado pelo trabalho de implantação.
environment:
name: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: $(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: $(imagePullSecret)
containers: $(containerRegistry)/$(imageRepository):$(tag)
# value for kubernetesServiceConnection input automatically passed down to task by environment.resource input
Ambiente em detalhes de execução
Todos os ambientes que são direcionados por trabalhos de implantação de uma execução específica de um pipeline podem ser encontrados na guia Ambientes dos detalhes da execução do pipeline.
Se você estiver usando um cluster privado do AKS, a guia Ambientes não estará disponível.
Aprovações
Controle manualmente quando um estágio deve ser executado usando verificações de aprovação. Use verificações de aprovação para controlar implantações em ambientes de produção. As verificações estão disponíveis para o proprietário do recurso controlar quando um estágio em um pipeline consome um recurso. Como proprietário de um recurso, como um ambiente, você pode definir aprovações e verificações que devem ser satisfeitas antes que um estágio que consuma esse recurso seja iniciado.
Suportamos verificações manuais de aprovação em ambientes. Para obter mais informações, consulte Aprovações.
As funções de Criador, Administrador e usuário podem gerenciar aprovações e verificações. A função Leitor não pode gerenciar aprovações e verificações.
Histórico de implementações
A visualização do histórico de implantação em ambientes oferece as seguintes vantagens.
Visualize trabalhos de todos os pipelines destinados a um ambiente específico. Por exemplo, dois microsserviços, cada um com seu próprio pipeline, estão implantando no mesmo ambiente. A listagem do histórico de implantação ajuda a identificar todos os pipelines que afetam esse ambiente e também ajuda a visualizar a sequência de implantações por cada pipeline.
Analise detalhadamente os detalhes do trabalho para ver a lista de confirmações e itens de trabalho que foram implantados no ambiente. A lista de confirmações e itens de trabalho são os novos itens entre implantações. Sua primeira listagem inclui todos os compromissos e as listagens a seguir incluirão apenas alterações. Se várias confirmações estiverem vinculadas à mesma solicitação pull, você verá vários resultados nas guias de itens de trabalho e alterações.
Se vários itens de trabalho estiverem vinculados à mesma solicitação pull, você verá vários resultados na guia itens de trabalho.
Segurança
Permissões de utilizador
Controle quem pode criar, visualizar, usar e gerenciar os ambientes com permissões de usuário. Há quatro funções - Criador (escopo: todos os ambientes), Leitor, Usuário e Administrador. No painel de permissões de usuário do ambiente específico, você pode definir as permissões herdadas e substituir as funções para cada ambiente.
- Vá para o ambiente específico que você deseja autorizar.
- Selecione >Segurança para visualizar as configurações.
- Selecione Permissões de> utilizador+Adicionar>utilizador ou grupo e, em seguida, selecione uma função adequada.
Função | Description |
---|---|
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. |
Leitor | Os membros dessa função podem exibir o ambiente. |
Utilizador | Os membros dessa função podem usar o ambiente ao criar ou editar pipelines YAML. |
Administrador | Os membros dessa função podem administrar permissões, criar, gerenciar, exibir e usar ambientes. Para um ambiente específico, seu criador é adicionado como Admininistrator 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 | Description |
---|---|
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. |
Leitor | Os membros dessa função podem exibir o ambiente. |
Utilizador | Os membros dessa função podem usar o ambiente ao criar ou editar pipelines YAML. |
Administrador | Além de usar o ambiente, os membros dessa função podem gerenciar a associação de todas as outras funções para o ambiente. Os criadores são adicionados como membros por padrão. |
Permissões de pipeline
Use permissões de pipeline para autorizar todos ou pipelines selecionados para implantação no ambiente.
- Para remover o acesso aberto no ambiente ou recurso, selecione Restringir permissão em Permissões de pipeline.
- Para permitir que pipelines específicos sejam implantados em um ambiente ou recurso específico, selecione + e escolha na lista de pipelines.
Próximos passos
Definir aprovações e verificações
FAQ
P: Por que recebo uma mensagem de erro quando tento criar um ambiente?
R: Se vir a mensagem "Acesso negado: {Utilizador} precisa de permissões para executar a ação", verifique as permissões ao nível da organização. Aceda a Definições da Organização>Utilizadores e verifique se tem a função de interveniente. A função de interveniente não pode criar ambientes. 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.
P: Por que estou recebendo o erro "Trabalho XXXX: Ambiente XXXX não pôde ser encontrado. O ambiente não existe ou não foi autorizado para ser utilizado”?
R: Estas são algumas das possíveis razões da falha:
Quando você cria um pipeline YAML e se refere a um ambiente que não existe no arquivo YAML, o Azure Pipelines cria automaticamente o ambiente em alguns casos:
- Use o assistente de criação de pipeline YAML na experiência Web do Azure Pipelines e faça referência a um ambiente que ainda não foi criado.
- Quando atualiza o ficheiro YAML com o editor Web do Azure Pipelines e guarda o pipeline depois de adicionar uma referência a um ambiente que não existe.
Nos fluxos a seguir, o Azure Pipelines não tem informações sobre o usuário que está criando o ambiente: você atualiza o arquivo YAML usando outro editor de código externo, adiciona uma referência a um ambiente que não existe e faz com que um pipeline de integração manual ou contínua seja acionado. Nesse caso, o Azure Pipelines não sabe sobre o usuário. Anteriormente, para lidar com este caso, adicionávamos todos os contribuidores do projeto à função de administrador do ambiente. Desta forma, qualquer membro do projeto podia alterar estas permissões e impedir que outras pessoas acedessem ao ambiente.
Você pode usar variáveis para criar o ambiente ou usar templateContext para passar propriedades para modelos. Os parâmetros de tempo de execução não funcionarão ao criar o ambiente porque são expandidos em tempo de execução.
Um usuário com nível de acesso de partes interessadas não pode criar o ambiente, pois as partes interessadas não têm acesso ao repositório.
Artigos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários