Exercício – compilar a aplicação com o agente
Agora que seu agente de compilação está em execução e pronto para receber trabalhos de compilação, vamos vê-lo em ação. Nesta unidade, você modificará uma configuração de compilação básica que fornecemos para criar o site do Space Game usando seu agente e não o agente hospedado pela Microsoft.
Nota
Execute as etapas a seguir imediatamente após executar as etapas no módulo anterior: Criar um agente de compilação que seja executado no Azure.
No final desta unidade, como uma etapa opcional, você pode remover o pool de agentes da sua organização de DevOps do Microsoft Azure.
Obter o ramo do GitHub
Nesta seção, você buscará a build-agent
ramificação no GitHub e fará check-out ou alternará para essa ramificação.
Esta ramificação contém o projeto Space Game com o qual você trabalhou em módulos anteriores e uma configuração do Azure Pipelines para começar.
No Visual Studio Code, abra o terminal integrado.
Para baixar uma ramificação nomeada
build-agent
do repositório da Microsoft e alternar para essa ramificação, execute o seguintegit fetch
egit checkout
comandos:git fetch upstream build-agent git checkout -B build-agent upstream/build-agent
Lembre-se de que upstream refere-se ao repositório Microsoft GitHub. A configuração do Git do seu projeto compreende o controle remoto upstream, porque você configura essa relação quando bifurcou o projeto do repositório da Microsoft e o clonou localmente.
Em breve, irá enviar este ramo para o seu repositório do GitHub, conhecido como
origin
.Opcionalmente, no Visual Studio Code, abra o arquivo azure-pipelines.yml e familiarize-se com a configuração inicial.
A configuração é semelhante à básica que você criou no módulo Criar um pipeline de compilação com o Azure Pipelines . Ele cria apenas a configuração de lançamento do aplicativo.
Modificar a configuração da compilação
Nesta seção, você modificará a configuração de compilação para alternar do uso de um agente hospedado pela Microsoft para o uso do agente do pool de compilação.
No Visual Studio Code, abra o arquivo azure-pipelines.yml e procure a
pool
seção .pool: vmImage: 'ubuntu-20.04' demands: - npm
Modifique a
pool
seção como mostrado aqui:pool: name: 'MyAgentPool' demands: - npm
Esta versão utiliza
name
para especificar o conjunto de agentes OMeuConjuntoDeAgentes. Mantém a secçãodemands
para especificar que o agente de compilação tem de ter npm, o gestor de pacotes de Node.js, instalado.No terminal integrado, adicione azure-pipelines.yml ao índice, confirme as alterações e envie a ramificação para o GitHub.
git add azure-pipelines.yml git commit -m "Use private agent pool" git push origin build-agent
Ver o Azure Pipelines a utilizar o seu agente de compilação
Observe a compilação ser executada no pipeline usando seu agente de compilação.
No Azure DevOps, vá para o projeto Space Game - Web - Agent .
Na página do projeto ou no painel esquerdo, selecione Pipelines.
Selecione seu pipeline em Pipelines executados recentemente e escolha a execução mais recente (que foi iniciada quando você atualizou o pipeline para usar o pool MyAgentPool).
Escolha Trabalho e rastreie a execução em cada uma das etapas.
Na tarefa de trabalho Inicializar, você vê que a compilação usa seu agente de compilação.
Opcional: Remova o pool de compilação
Para referência futura, você pode manter a configuração do pool de compilação em sua organização do Azure DevOps, mas lembre-se de que a VM que hospeda o agente não estará mais disponível para você depois de executar as etapas de limpeza no final deste módulo.
Aliás, o Azure DevOps irá detetar que o agente está offline. O Azure Pipelines verificará se há um agente disponível na próxima vez que uma compilação for enfileirada usando o pool MyAgentPool.
Como passo opcional, pode remover a configuração do conjunto de compilações do Azure DevOps. Saiba como:
No Azure DevOps, vá para o projeto Space Game - Web - Agent .
Selecione Configurações do projeto.
Em Pipelines, selecione Agent pools (Conjuntos de agentes).
Em MyAgentPool, selecione o ícone da lixeira e, em seguida, selecione Excluir.