Tutorial: Dimensionar implantações do Jenkins com VM em execução no Azure
Importante
Muitos serviços do Azure têm plug-ins Jenkins. Alguns desses plug-ins estarão sem suporte a partir de 29 de fevereiro de 2024. A CLI do Azure é a maneira atualmente recomendada de integrar o Jenkins aos serviços do Azure. Para obter mais informações, consulte o artigo Jenkins plug-ins for Azure.
Este tutorial mostra como criar máquinas virtuais Linux no Azure e adicionar a VM como um nó de trabalho ao Jenkins.
Neste tutorial, vai:
- Criar máquina de agente
- Adicionar agente ao Jenkins
- Criar um trabalho de compilação para fins gerais novo no Jenkins
- Executar o trabalho num 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 a 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 seguinte comando
--ssh-key-value <ssh_path>
.
- Você também pode carregar sua chave ssh com o seguinte comando
Instale o JDK.
Faça login na máquina virtual usando uma ferramenta SSH.
ssh username@123.123.123.123
Instale o JDK com o apt. Você também pode instalar com outras ferramentas de gerenciador de pacotes, como yum ou pacman.
sudo apt-get install -y default-jdk
Após a conclusão da 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 URL do Jenkins
Se você usa JNLP, precisará configurar a URL do Jenkins.
No menu, selecione Gerenciar Jenkins.
Em Configuração do Sistema, selecione Configurar Sistema.
Verifique se o URL do Jenkins está definido para o endereço HTTP da sua instalação do Jenkins -
http://<your_host>.<your_domain>:8080/
.Selecione Guardar.
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 na nova instalação do Jenkins. Esse valor pode ser diferente do nome do host do agente. No entanto, é conveniente torná-los os dois valores iguais. O valor do nome é permitido 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
. Este deve ser um caminho local para a máquina do agente. Não há necessidade de que este caminho seja visível a partir do mestre. Se você usar um caminho relativo, como ./jenkins-agent, o caminho será relativo ao diretório de trabalho fornecido pelo método Launch.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 de
UBUNTU
para todos os seus agentes que executam a distro Ubuntu do Linux.Método de lançamento: Há duas opções para iniciar o nó Jenkins remoto: Agentes de lançamento via SSH e Agente de lançamento via execução de comando no mestre:
Agentes de lançamento 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 efetuar login no host remoto. Você também pode selecionar o botão Adicionar para definir uma nova credencial e, em seguida, selecionar essa nova credencial depois de criada.
Estratégia de Verificação de Chave do Host: Controla como Jenkins verifica a chave SSH apresentada pelo host remoto durante a conexão.
Agente de lançamento através da execução de comando no mestre:
Faça o download do arquivo
agent.jar
dehttps://<your_jenkins_host_name>/jnlpJars/agent.jar
. Por exemplo,https://localhost:8443/jnlpJars/agent.jar
.Carregar
agent.jar
para a sua máquina virtualInicie 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 Guardar.
Depois de definir as configurações, Jenkins adiciona a máquina virtual como um novo nó de trabalho.
Criar uma tarefa no Jenkins
No menu, selecione Novo Item.
Digite
demoproject1
para o nome.Selecione Projeto Freestyle.
Selecione OK.
No separador General (Geral), selecione Restrict where project can be run (“Restringir onde o projeto pode ser executado") e escreva
ubuntu
em Label Expression (Expressão da Etiqueta). Verá uma mensagem a confirmar que a etiqueta é fornecida pela configuração de cloud criada no passo anterior.No separador Source Code Management (Gestão de Código de Origem), selecione Git e adicione o seguinte URL ao campo Repository URL (URL do Repositório):
https://github.com/spring-projects/spring-petclinic.git
No separador Build (Compilar), selecione Add build step (Adicionar passo de compilação) e Invoke top-level Maven targets (Invocar destinos de Maven de nível superior). Introduza
package
no campo Goals (Objetivos).Selecione Guardar.
Compilar o trabalho novo num agente de VM do Azure
Selecione o trabalho que você criou na etapa anterior.
Selecione Compilar agora. Uma nova compilação é enfileirada, mas não é iniciada até que uma VM de agente seja criada em sua assinatura do Azure.
Quando a compilação estiver concluída, vá para Saída da consola. Verá que a compilação foi executada remotamente num agente do Azure.
Próximos passos
CI/CD to Azure App Service (CI/CD no Serviço de Aplicações do Azure)