Exercício – configurar o ambiente do Azure DevOps

Concluído

Nesta seção, você verificará se sua organização do Azure DevOps está configurada para concluir o restante deste módulo. Você também cria os ambientes do Serviço de Aplicativo do Azure que implantará.

Para realizar essas tarefas, você:

  • Adicione um usuário para garantir que o Azure DevOps possa se conectar à sua assinatura do Azure.
  • Configure um projeto de DevOps do Azure para este módulo.
  • Mova o item de trabalho para este módulo nos Painéis do Azure para a coluna Fazendo .
  • Crie os ambientes do Serviço de Aplicativo do Azure usando a CLI do Azure no Azure Cloud Shell.
  • Crie variáveis de pipeline que definem os nomes dos ambientes do Serviço de Aplicativo.
  • Crie uma conexão de serviço que permita que o Azure Pipelines acesse sua assinatura do Azure com segurança.

Adicionar um usuário ao Azure DevOps

Para concluir este módulo, você precisa de sua própria assinatura do Azure. Pode começar a utilizar o Azure gratuitamente.

Embora você não precise de uma assinatura do Azure para trabalhar com o Azure DevOps, aqui, você usará o Azure DevOps para implantar em recursos existentes em sua assinatura do Azure. Para simplificar o processo, entre na sua assinatura do Azure e na sua organização do Azure DevOps na mesma conta da Microsoft.

Se você usar contas da Microsoft diferentes para entrar no Azure e no Azure DevOps, adicione um usuário à sua organização de DevOps na conta da Microsoft que você usa para entrar no Azure. Para obter mais informações, consulte Adicionar usuários à sua organização ou projeto. Ao adicionar o usuário, escolha o nível de acesso Básico .

Em seguida, saia do Azure DevOps. Em seguida, inicie sessão novamente na conta Microsoft que utiliza para iniciar sessão na sua subscrição do Azure.

Obtenha o projeto Azure DevOps

Aqui, você garante que sua organização do Azure DevOps esteja configurada para concluir o restante deste módulo. Para realizar essa tarefa, execute um modelo que cria um projeto no Azure DevOps.

Os módulos neste caminho de aprendizagem formam uma progressão à medida que você segue a equipe da web do Tailspin em sua jornada de DevOps. Para fins de aprendizagem, cada módulo tem um projeto de DevOps do Azure associado.

Executar o modelo

Execute um modelo que configure tudo em sua organização do Azure DevOps.

No site do Gerador de Demonstração do Azure DevOps, siga estas etapas para executar o modelo:

  1. Selecione Entrar e aceite os termos de uso.

  2. Na página Criar Novo Projeto, selecione sua organização do Azure DevOps. Em seguida, insira um nome de projeto, como Space Game - web - Functional tests.

    Screenshot of Creating a project through the Azure DevOps Demo Generator.

  3. Selecione Sim, quero bifurcar este repositório. Em seguida, selecione Autorizar.

  4. Selecione Criar projeto.

    O modelo leva alguns minutos para ser executado.

  5. Selecione Navegar para o projeto para ir para o seu projeto no Azure DevOps.

Importante

A página Limpar o ambiente do Azure DevOps neste módulo contém passos de limpeza importantes. A limpeza ajuda a garantir que não fica sem minutos de compilação gratuitos. Certifique-se de que executa os passos de limpeza, mesmo que não conclua este módulo.

Defina a visibilidade do seu projeto

Inicialmente, sua bifurcação do repositório do Jogo Espacial no GitHub é definida como pública, enquanto o projeto criado pelo modelo de DevOps do Azure é definido como privado. Um repositório público no GitHub pode ser acessado por qualquer pessoa, enquanto um repositório privado só é acessível para você e para as pessoas com quem você escolher compartilhá-lo. Da mesma forma, no Azure DevOps, os projetos públicos fornecem acesso somente leitura a usuários não autenticados, enquanto os projetos privados exigem que os usuários recebam acesso e sejam autenticados para acessar os serviços.

No momento, não é necessário modificar nenhuma dessas configurações para os fins deste módulo. No entanto, para seus projetos pessoais, você deve determinar a visibilidade e o acesso que deseja conceder a outras pessoas. Por exemplo, se seu projeto for de código aberto, você pode optar por tornar público o repositório do GitHub e o projeto do Azure DevOps. Se seu projeto for proprietário, você normalmente tornará o repositório do GitHub e o projeto do Azure DevOps privados.

Mais tarde, você pode achar os seguintes recursos úteis para determinar qual opção é melhor para o seu projeto:

Passar o item de trabalho para Doing (Em Curso)

Nesta parte, você atribui a si mesmo um item de trabalho nos Painéis do Azure relacionado a este módulo. Você também move o item de trabalho para o estado Fazendo . Na prática, sua equipe criaria itens de trabalho no início de cada sprint ou iteração de trabalho.

Atribuir trabalho desta forma dá-lhe uma lista de verificação a partir da qual trabalhar. Ele dá à sua equipe visibilidade sobre o que você está trabalhando e quanto trabalho resta. Ele também ajuda a equipe a impor limites no trabalho em andamento (WIP) para evitar assumir muito trabalho ao mesmo tempo.

Lembre-se que a equipe resolveu estas questões principais para o sprint atual:

A screenshot of Azure Boards, showing the tasks for this sprint.

Nota

Dentro de uma organização do Azure DevOps, os itens de trabalho são numerados sequencialmente. No seu projeto, o número para cada item de trabalho pode não corresponder ao que você vê aqui.

Aqui você move o terceiro item, Automatizar testes de qualidade, para a coluna Fazendo . Em seguida, você se atribui ao item de trabalho. Automatizar testes de qualidade está relacionado à automação de testes de interface do usuário para o site do Space Game .

Para configurar o item de trabalho:

  1. No Azure DevOps, vá para Painéis e selecione Painéis no menu.

    A screenshot of Azure DevOps showing the location of the Boards menu.

  2. No item de trabalho Automatizar testes de qualidade, selecione a seta para baixo na parte inferior do cartão. Em seguida, atribua o item de trabalho a si próprio.

    A screenshot of Azure Boards showing the location of the down arrow.

  3. Mova o item de trabalho da coluna Tarefas Pendentes para a coluna Tarefas Pendentes .

    A screenshot of Azure Boards, showing the card in the Doing column.

No final deste módulo, depois de concluir a tarefa, você moverá o cartão para a coluna Concluído .

Configurar o projeto localmente

Aqui você carrega o projeto Space Game no Visual Studio Code, configura o Git, clona seu repositório localmente e define o controle remoto upstream para que você possa baixar o código inicial.

Nota

Se você já estiver configurado com o projeto mslearn-tailspin-spacegame-web-deploy localmente, poderá passar para a próxima seção.

Abra o terminal integrado

O Visual Studio Code vem com um terminal integrado. Aqui você edita arquivos e trabalha a partir da linha de comando.

  1. Inicie o Visual Studio Code.

  2. No menu Exibir, selecione Terminal.

  3. Na lista suspensa, selecione Git Bash. Se você estiver familiarizado com outro shell Unix que você prefere usar, selecione esse shell em vez disso.

    A screenshot of Visual Studio Code showing the location of the Git Bash shell.

    Na janela do terminal, você pode escolher qualquer shell instalado no seu sistema. Por exemplo, você pode escolher Git Bash, PowerShell ou outro shell.

    Aqui você usará o Git Bash, parte do Git para Windows, que facilita a execução de comandos do Git.

    Nota

    No Windows, se você não vir o Git Bash listado como uma opção, verifique se instalou o Git e reinicie o Visual Studio Code.

  4. Execute o cd comando para ir para o diretório onde você deseja trabalhar. Escolha o seu diretório pessoal (~) ou um diretório diferente, se desejar.

    cd ~
    

Configurar o Git

Se você é novo no Git e no GitHub, primeiro execute alguns comandos para associar sua identidade ao Git e autenticar com o GitHub. Para obter mais informações, consulte Configurar o Git.

No mínimo, você precisa concluir as etapas a seguir. Execute os comandos a partir do terminal integrado.

  1. Defina o seu nome de utilizador.
  2. Defina seu endereço de e-mail de confirmação.
  3. Armazene em cache sua senha do GitHub.

Nota

Se você já usa a autenticação de dois fatores com o GitHub, crie um token de acesso pessoal. Quando lhe for pedido, utilize o seu token em vez da sua palavra-passe.

Trate o seu token de acesso como uma palavra-passe. Mantenha-o num local seguro.

Configurar seu projeto no Visual Studio Code

No caminho de aprendizado Criar aplicativos com o Azure DevOps , você bifurcou e clonou um repositório Git. O repositório contém o código-fonte do site Space Game . Sua bifurcação foi conectada aos seus projetos no Azure DevOps para que a compilação seja executada quando você enviar por push alterações para o GitHub.

Importante

Neste caminho de aprendizagem, mudamos para um repositório Git diferente, mslearn-tailspin-spacegame-web-deploy. Quando você executou o modelo para configurar seu projeto de DevOps do Azure, o processo bifurcou o repositório automaticamente para você.

Nesta parte, você clona sua bifurcação localmente para que possa alterar e construir sua configuração de pipeline.

Clonar o seu fork localmente

Agora você tem uma cópia do projeto web Space Game em sua conta do GitHub. Agora você vai baixar, ou clonar, uma cópia para o seu computador para que você possa trabalhar com ele.

Um clone, assim como uma bifurcação, é uma cópia de um repositório. Ao clonar um repositório, você pode fazer alterações, verificar se elas funcionam como esperado e, em seguida, carregar essas alterações no GitHub. Você também pode sincronizar sua cópia local com as alterações que outros usuários autenticados fizeram na cópia do GitHub do seu repositório.

Para clonar o projeto Web do Jogo Espacial para o seu computador:

  1. Vá para a bifurcação do projeto Web Space Game (mslearn-tailspin-spacegame-web-deploy) no GitHub.

  2. Selecione Código. Em seguida, na guia HTTPS , selecione o botão ao lado do URL mostrado para copiar o URL para a área de transferência.

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. No Visual Studio Code, vá para a janela do terminal.

  4. No terminal, mova para o diretório onde deseja trabalhar. Escolha o seu diretório pessoal (~) ou um diretório diferente, se desejar.

    cd ~
    
  5. Execute o comando git clone. Substitua o URL mostrado aqui pelo conteúdo da área de transferência:

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  6. Mover para o mslearn-tailspin-spacegame-web-deploy diretório. Este é o diretório de raiz do seu repositório.

    cd mslearn-tailspin-spacegame-web-deploy
    

Configurar o controle remoto upstream

Um remoto é um repositório Git onde os membros da equipe colaboram (como um repositório no GitHub). Aqui você lista seus controles remotos e adiciona um controle remoto que aponta para a cópia da Microsoft do repositório para que você possa obter o código de exemplo mais recente.

  1. Execute este git remote comando para listar seus controles remotos:

    git remote -v
    

    Você vê que tem acesso de busca (download) e push (upload) ao seu repositório:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    Origin especifica seu repositório no GitHub. Quando você bifurca o código de outro repositório, o controle remoto original (aquele do qual você se bifurcou) geralmente é chamado de upstream.

  2. Execute este git remote add comando para criar um controle remoto chamado upstream que aponte para o repositório da Microsoft:

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. Execute git remote novamente para ver as alterações:

    git remote -v
    

    Você vê que ainda tem acesso de busca (download) e acesso push (upload) ao seu repositório. Agora você também tem acesso de busca ao repositório da Microsoft:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    

Abrir o projeto no explorador de ficheiros

No Visual Studio Code, a janela do terminal aponta para o diretório de raiz do projeto Web Space Game. Para visualizar sua estrutura e trabalhar com arquivos, no explorador de arquivos, você abrirá o projeto.

  1. A maneira mais fácil de abrir o projeto é reabrir o Visual Studio Code no diretório atual. Para fazer isso, execute o seguinte comando a partir do terminal integrado:

    code -r .
    

    Verá o diretório e a árvore de ficheiros no explorador de ficheiros.

  2. Reabra o terminal integrado. O terminal coloca você na raiz do seu projeto web.

Se o code comando falhar, você precisará adicionar o Visual Studio Code ao PATH do sistema. Para tal:

  1. No Visual Studio Code, selecione F1 ou View >Command Palette para acessar a paleta de comandos.
  2. Na paleta de comandos, digite Shell Command: Install 'code' command in PATH.
  3. Repita o procedimento anterior para abrir o projeto no explorador de arquivos.

Agora você está configurado para trabalhar com o código-fonte do Jogo Espacial e sua configuração do Azure Pipelines a partir do seu ambiente de desenvolvimento local.

Criar os ambientes do Serviço de Aplicativo do Azure

Aqui, você cria os ambientes que definem os estágios do pipeline. Você cria uma instância do Serviço de Aplicativo que corresponde a cada estágio: Desenvolvimento, Teste e Preparo.

No módulo Criar um pipeline de vários estágios usando o Azure Pipelines, você usou a CLI do Azure para criar suas instâncias do Serviço de Aplicativo. Aqui você fará o mesmo.

Importante

Precisa da sua subscrição do Azure para concluir os exercícios neste módulo.

Abrir o Cloud Shell através do portal do Azure

  1. Aceda ao Portal do Azure e inicie sessão.
  2. Na barra de menus, selecione Cloud Shell. Quando lhe for pedido, selecione a experiência Bash .

Selecione uma região do Azure

Aqui, você especifica a região padrão, ou localização geográfica, onde seus recursos do Azure devem ser criados.

  1. No Cloud Shell, execute o seguinte az account list-locations comando para listar as regiões que estão disponíveis na sua assinatura do Azure.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. Na coluna Nome na saída, escolha uma região próxima a você. Por exemplo, escolha eastasia ou westus2.

  3. Execute az configure para definir sua região padrão. Substitua <REGION> pelo nome da região escolhida.

    az configure --defaults location=<REGION>
    

    Aqui está um exemplo que define westus2 como a região padrão:

    az configure --defaults location=westus2
    

Criar as instâncias do Serviço de Aplicativo

Aqui, você cria as instâncias do Serviço de Aplicativo para os três estágios nos quais será implantado: Desenvolvimento, Teste e Preparo.

Nota

Para fins de aprendizagem, aqui, você usa as configurações de rede padrão. Estas definições tornam o seu site acessível a partir da Internet. Na prática, você pode configurar uma rede virtual do Azure que coloque seu site em uma rede que não seja roteável pela Internet e que seja acessível apenas para você e sua equipe. Mais tarde, quando estiver pronto, poderá reconfigurar a sua rede para disponibilizar o Web site aos seus utilizadores.

  1. No Cloud Shell, gere um número aleatório que torna o nome de domínio do seu aplicativo Web exclusivo.

    webappsuffix=$RANDOM
    
  2. Execute o seguinte az group create comando para criar um grupo de recursos chamado tailspin-space-game-rg.

    az group create --name tailspin-space-game-rg
    
  3. Execute o seguinte az appservice plan create comando para criar um plano do Serviço de Aplicativo chamado tailspin-space-game-asp.

    az appservice plan create \
      --name tailspin-space-game-asp \
      --resource-group tailspin-space-game-rg \
      --sku B1 \
      --is-linux
    

    O --sku argumento especifica o plano B1 , que é executado na camada Básica . O --is-linux argumento especifica o uso de trabalhadores Linux.

    Importante

    Se a SKU B1 não fizer parte da sua assinatura do Azure, escolha um plano diferente, como o S1 (Padrão).

  4. Execute os comandos a seguir az webapp create para criar as três instâncias do Serviço de Aplicativo, uma para cada um dos ambientes de Desenvolvimento, Teste e Preparo.

    az webapp create \
      --name tailspin-space-game-web-dev-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-test-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-staging-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    

    Para fins de aprendizagem, aqui, você aplica o mesmo plano do Serviço de Aplicativo (B1 Básico) a cada instância do Serviço de Aplicativo. Na prática, você atribuiria um plano que correspondesse à sua carga de trabalho esperada.

  5. Execute o comando a seguir az webapp list para listar o nome do host e o estado de cada instância do Serviço de Aplicativo.

    az webapp list \
      --resource-group tailspin-space-game-rg \
      --query "[].{hostName: defaultHostName, state: state}" \
      --output table
    

    Observe o nome do host para cada serviço em execução. Você precisará desses nomes de host mais tarde quando verificar seu trabalho. Eis um exemplo:

    HostName                                                 State
    -------------------------------------------------------  -------
    tailspin-space-game-web-dev-21017.azurewebsites.net      Running
    tailspin-space-game-web-test-21017.azurewebsites.net     Running
    tailspin-space-game-web-staging-21017.azurewebsites.net  Running
    
  6. Como etapa opcional, copie e cole um ou mais nomes em seu navegador para verificar se eles estão em execução e se a página inicial padrão aparece.

    Você deve obter esta página:

    The default home page on Azure App Service.

Importante

A página Limpar o ambiente do Azure DevOps neste módulo contém passos de limpeza importantes. A limpeza ajuda a garantir que você não seja cobrado pelos recursos do Azure depois de concluir este módulo. Certifique-se de que executa os passos de limpeza, mesmo que não conclua este módulo.

Criar variáveis de pipeline no Azure Pipelines

Em Criar um pipeline de vários estágios usando o Azure Pipelines, você adicionou uma variável para cada uma das instâncias do Serviço de Aplicativo, que correspondem aos estágios de Desenvolvimento, Teste e Preparo em seu pipeline. Aqui, você faz o mesmo.

Cada estágio na configuração do pipeline usa essas variáveis para identificar em qual instância do Serviço de Aplicativo implantar.

Para adicionar as variáveis:

  1. No Azure DevOps, vá para o seu projeto Space Game - web - Functional tests .

  2. Em Pipelines, selecione Biblioteca.

    A screenshot of Azure Pipelines, showing the Library menu option.

  3. Selecione + Grupo de variáveis.

  4. Em Propriedades, para o nome do grupo de variáveis, insira Release.

  5. Em Variáveis, selecione + Adicionar.

  6. Para o nome da variável, digite WebAppNameDev. Para seu valor, insira o nome da instância do Serviço de Aplicativo que corresponde ao seu ambiente de Desenvolvimento , como tailspin-space-game-web-dev-1234.

  7. Repita as etapas 5 e 6 mais duas vezes para criar variáveis para seus ambientes de teste e preparação , conforme mostrado nesta tabela:

    Nome da variável Valor de exemplo
    WebAppNameTest tailspin-espaço-jogo-web-teste-1234
    WebAppNameStaging tailspin-espaço-jogo-web-encenação-1234

    Certifique-se de substituir cada valor de exemplo pela instância do Serviço de Aplicativo que corresponde ao seu ambiente.

    Importante

    Defina o nome da instância do Serviço de Aplicativo, não o nome do host. Neste exemplo, você digitaria tailspin-space-game-web-dev-1234 e não tailspin-space-game-web-dev-1234.azurewebsites.net.

  8. Perto da parte superior da página, selecione Salvar para salvar sua variável no pipeline.

    Seu grupo variável deve ser semelhante a este:

    A screenshot of Azure Pipelines, showing the variable group. The group contains three variables.

Crie os ambientes de desenvolvimento, teste e preparo

Em Criar um pipeline de vários estágios usando o Azure Pipelines, você criou ambientes para os ambientes de desenvolvimento, teste e preparação . Aqui, você repete o processo. Desta vez, no entanto, você omite critérios adicionais, como a exigência de aprovação humana para promover mudanças de um estágio para o outro.

Para criar os ambientes de desenvolvimento, teste e preparação :

  1. Em Azure Pipelines, selecione Environments.

    A screenshot of Azure Pipelines showing the location of the Environments menu option.

  2. Para criar o ambiente de desenvolvimento :

    1. Selecione Criar ambiente.
    2. Em Nome, insira dev.
    3. Deixe os campos restantes em seus valores padrão.
    4. Selecione Criar.
  3. Para criar o ambiente de teste :

    1. Regresse à página Ambientes .
    2. Selecione Novo ambiente.
    3. Em Nome, insira teste.
    4. Selecione Criar.
  4. Para criar o ambiente de preparação :

    1. Regresse à página Ambientes .
    2. Selecione Novo ambiente.
    3. Em Nome, insira preparo.
    4. Selecione Criar.

Criar uma conexão de serviço

Aqui, você cria uma conexão de serviço que permite que o Azure Pipelines acesse sua assinatura do Azure. O Azure Pipelines usa essa conexão de serviço para implantar o site no Serviço de Aplicativo. Você criou uma conexão de serviço semelhante no módulo anterior.

Importante

Certifique-se de que tem sessão iniciada no portal do Azure e no Azure DevOps na mesma conta Microsoft.

  1. No Azure DevOps, vá para o seu projeto Space Game - web - Functional tests .

  2. No canto inferior da página, selecione Configurações do projeto.

  3. Em Pipelines, selecione Ligações do serviço.

  4. Selecione Nova conexão de serviço, escolha Gerenciador de Recursos do Azure e selecione Avançar.

  5. Perto da parte superior da página, Entidade de serviço (automática). Em seguida, selecione Seguinte.

  6. Preencha estes campos:

    Campo Value
    Nível de âmbito Subscrição
    Subscrição a subscrição do Azure
    Grupo de Recursos tailspin-espaço-jogo-rg
    Nome da conexão de serviço Gestor de Recursos - Tailspin - Jogo Espacial

    Durante o processo, poderá ser-lhe pedido para iniciar sessão na sua conta Microsoft.

  7. Verifique se a opção Conceder permissão de acesso a todos os pipelines está selecionada.

  8. Selecione Guardar.

    O Azure DevOps executa uma conexão de teste para verificar se ele pode se conectar à sua assinatura do Azure. Se o Azure DevOps não puder se conectar, você terá a chance de entrar pela segunda vez.