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

Configurar máquina virtual do agente

  1. Use az group create para criar um grupo de recursos do Azure.

    az group create --name <resource_group> --location <location>
    
  2. 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>.
  3. Instale o JDK.

    1. Faça logon na máquina virtual usando uma ferramenta SSH.

      ssh username@123.123.123.123
      
    2. 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
      
    3. 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.

  1. No menu, selecione Gerenciar Jenkins.

  2. Em Configuração do Sistema, selecione Configurar o Sistema.

  3. 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/.

  4. Selecione Salvar.

Adicionar agente ao Jenkins

  1. No menu, selecione Gerenciar Jenkins.

  2. Em Configuração do Sistema, selecione Gerenciar Nós e Nuvens.

  3. No menu, selecione Novo Nó.

  4. Insira um valor para Nome do Nó.

  5. Selecione Agente Permanente.

  6. Selecione OK.

  7. 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 ou c:\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 ou example.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.

        Node configuration example specifying a launch method of Launch agents via SSH.

      • Inicialize o agente executando o comando no mestre:

        • Faça o download do agent.jarhttps://<your_jenkins_host_name>/jnlpJars/agent.jar. Por exemplo, https://localhost:8443/jnlpJars/agent.jar.

        • Carregue agent.jar para sua máquina virtual

        • Inicie 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.

        Node configuration example specifying a launch method of Launch agent via execution of command on the master.

  8. Selecione Salvar.

Depois de definir as configurações, o Jenkins adiciona a máquina virtual como um novo nó de trabalho.

Example of virtual machine as new work node

Crie um trabalho no Jenkins

  1. No menu, selecione Novo item.

  2. Insira demoproject1 para o nome.

  3. Selecione Projeto Freestyle.

  4. Selecione OK.

  5. 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.

    Setting up a new Jenkins job

  6. 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

  7. Na guia Compilar, selecione Adicionar etapa de build e, em seguida, Invocar destinos de nível superior do Maven. Insira package no campo Metas.

  8. Selecione Salvar.

Compilar o novo trabalho em um agente de VM do Azure

  1. Selecione o trabalho que você criou na etapa anterior.

  2. Selecione Compilar agora. Um novo build entrará na fila, mas não iniciará até uma VM do agente ser criada na assinatura do Azure.

  3. 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.

    Console output

Próximas etapas