Tutorial: Dimensionar implantações do Jenkins com VM em execução no Azure
Importante
Muitos serviços do Azure têm plug-ins do Jenkins. Alguns desses plug-ins ficarão sem suporte a partir de 29 de fevereiro de 2024. A CLI do Azure é a maneira atualmente recomendada para integrar o Jenkins aos serviços do Azure. Para obter mais informações, confira o artigo Plug-ins do Jenkins para Azure.
Este tutorial mostra como criar máquinas virtuais do Linux no Azure e adicionar a VM como um nó de trabalho ao Jenkins.
Neste tutorial, você aprenderá a:
- Criar computador do agente
- Adicionar agente ao Jenkins
- Criar um novo trabalho freestyle do Jenkins
- Executar o trabalho em um agente de VM do Azure
Pré-requisitos
- Instalação do Jenkins: se você não tiver acesso a uma instalação do Jenkins, configure o Jenkins usando a CLI do Azure
Configurar máquina virtual do agente
Use az group create para criar um grupo de recursos do Azure.
az group create --name <resource_group> --location <location>
Use az vm create para criar uma máquina virtual.
az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
Pontos principais:
- Você também pode carregar sua chave ssh com o comando a seguir
--ssh-key-value <ssh_path>
.
- Você também pode carregar sua chave ssh com o comando a seguir
Instale o JDK.
Faça logon na máquina virtual usando uma ferramenta SSH.
ssh username@123.123.123.123
Instale o JDK com apt. Você também pode instalar com outras ferramentas do gerenciador de pacotes, como yum ou pacman.
sudo apt-get install -y default-jdk
Ao concluir a instalação, execute
java -version
para verificar o ambiente Java. A saída incluirá os números de versão associados a várias partes do JDK.
Configurar a URL do Jenkins
Se você usar JNLP, precisará configurar a URL do Jenkins.
No menu, selecione Gerenciar Jenkins.
Em Configuração do Sistema, selecione Configurar o Sistema.
Verifique se a URL do Jenkins está definida como o endereço HTTP da sua instalação do Jenkins –
http://<your_host>.<your_domain>:8080/
.Selecione Salvar.
Adicionar agente ao Jenkins
No menu, selecione Gerenciar Jenkins.
Em Configuração do Sistema, selecione Gerenciar Nós e Nuvens.
No menu, selecione Novo Nó.
Insira um valor para Nome do Nó.
Selecione Agente Permanente.
Selecione OK.
Especifique valores para os seguintes campos:
Nome: especifique um nome exclusivo que identifique um agente dentro da nova instalação do Jenkins. Esse valor pode ser diferente do nome do host do agente. No entanto, é conveniente fazer com que ambos os valores sejam iguais. O valor de nome pode usar qualquer caractere especial da seguinte lista:
?*/\%!@#$^&|<>[]:;
.Diretório raiz remoto: um agente precisa ter um diretório dedicado ao Jenkins. Especifique o caminho para esse diretório no agente. É melhor usar um caminho absoluto, como
/home/azureuser/work
ouc:\jenkins
. Esse deve ser um caminho local para o computador do agente. Não é necessário que esse caminho esteja visível no mestre. Se você usar um caminho relativo, como ./jenkins-agent, o caminho será relativo ao diretório de trabalho fornecido pelo método Inicializar.Rótulos: os rótulos são usados para agrupar agentes semanticamente relacionados em um grupo lógico. Por exemplo, você pode definir um rótulo
UBUNTU
para todos os agentes que executam a distribuição Ubuntu do Linux.Método de inicialização: Há duas opções para iniciar o nó Jenkins remoto: Launch agents via SSH e Launch agent via execução de comando no mestre:
Iniciar agentes via SSH: especifique os valores para os seguintes campos:
Host: endereço IP público da VM ou nome de domínio. Por exemplo,
123.123.123.123
ouexample.com
Credenciais: selecione uma credencial a ser usada para fazer login no host remoto. Você também pode selecionar o botão Adicionar para definir uma nova credencial e então selecionar essa credencial após a criação.
Estratégia de verificação de chave de host: controla como o Jenkins verifica a chave SSH apresentada pelo host remoto durante a conexão.
Inicialize o agente executando o comando no mestre:
Faça o download do
agent.jar
https://<your_jenkins_host_name>/jnlpJars/agent.jar
. Por exemplo,https://localhost:8443/jnlpJars/agent.jar
.Carregue
agent.jar
para sua máquina virtualInicie o Jenkins com o comando
ssh <node_host> java -jar <remote_agentjar_path>
. Por exemplo,ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar
.
Selecione Salvar.
Depois de definir as configurações, o Jenkins adiciona a máquina virtual como um novo nó de trabalho.
Crie um trabalho no Jenkins
No menu, selecione Novo item.
Insira
demoproject1
para o nome.Selecione Projeto Freestyle.
Selecione OK.
Na guia Geral, escolha Restringir o local em que o projeto pode ser executado e digite
ubuntu
na Expressão de Rótulo. Você verá uma mensagem confirmando que o rótulo é atendido pela configuração de nuvem criada na etapa anterior.Na guia Gerenciamento de Código-Fonte, selecione Git e adicione a seguinte URL ao campo URL do Repositório:
https://github.com/spring-projects/spring-petclinic.git
Na guia Compilar, selecione Adicionar etapa de build e, em seguida, Invocar destinos de nível superior do Maven. Insira
package
no campo Metas.Selecione Salvar.
Compilar o novo trabalho em um agente de VM do Azure
Selecione o trabalho que você criou na etapa anterior.
Selecione Compilar agora. Um novo build entrará na fila, mas não iniciará até uma VM do agente ser criada na assinatura do Azure.
Quando a compilação estiver concluída, vá para Saída do Console. Você verá que o build foi executado remotamente em um agente do Azure.