Partilhar via


Tutorial: Dimensionar implantações do Jenkins com VM em execução no Azure

Importante

Embora muitos serviços do Azure tenham plug-ins Jenkins, a maioria desses plug-ins encerrou o 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, você irá:

  • Criar máquina agente
  • Adicionar agente ao Jenkins
  • Crie um novo trabalho Jenkins de estilo livre
  • Executar o trabalho em um agente de VM do Azure

Pré-requisitos

Configurar a 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 seguinte comando --ssh-key-value <ssh_path>.
  3. Instale o JDK.

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

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

  1. No menu, selecione Gerenciar Jenkins.

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

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

  4. Selecione Guardar.

Adicionar agente ao Jenkins

  1. No menu, selecione Gerenciar Jenkins.

  2. Em Configuração do Sistema, selecione Gerir Nodos e Cloud.

  3. A partir do 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 na 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 os mesmos. O valor do nome pode ter 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. 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 ou example.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.

        Exemplo de configuração de nó especificando um método de lançamento de agentes via SSH.

      • Agente de inicialização por meio da execução de comando no servidor principal

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

        • Carregar agent.jar para a sua máquina virtual

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

        Exemplo de configuração de nó especificando um método de inicialização de agente por meio da execução de comando no servidor principal.

  8. Selecione Guardar.

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

Exemplo de máquina virtual como um novo nó de trabalho

Criar um emprego em Jenkins

  1. No menu, selecione Novo Item.

  2. Digite demoproject1 para o nome.

  3. Selecione Projeto Freestyle.

  4. Selecione OK.

  5. Na guia Geral, escolha Restringir onde o projeto pode ser executado e digite ubuntu em Expressão de Rótulo. Você verá uma mensagem confirmando que o rótulo é servido pela configuração de nuvem criada na etapa anterior.

    Configurando uma nova tarefa do Jenkins

  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 Compilação , selecione Adicionar etapa de compilação e, em seguida, Invoque destinos Maven de nível superior. Entre package no campo Metas .

  8. Selecione Guardar.

Criar o novo trabalho em um agente de VM do Azure

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

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

  3. Quando a compilação estiver concluída, vá para a saída do console. Você vê que a compilação foi executada remotamente em um agente do Azure.

    Saída do console

Próximos passos