Como Configurar um Novo Agente de Compilação no Jenkins

Você está ficando sem Jenkins executores ou preso esperando por trabalhos na fila para seus trabalhos do Jenkins no Windows? Se sim, você precisa configurar mais agentes Jenkins.

Neste tutorial, você aprenderá como adicionar um nó Windows de agente Jenkins para suportar uma necessidade de recursos que cresce sempre em seu ambiente de construção de software!

Pré-requisitos

Para seguir este artigo, você precisará do seguinte.

  • Instalação funcionando de uma instalação de controlador Jenkins igual ou superior a 2.176.1, e neste artigo, o controlador é referido como o nó mestre.
  • Qualquer instalação de OS Windows suportada que será referida como o nó agente Jenkins.

O que são Agentes Jenkins e o Controlador de Agente Jenkins?

A core component of Jenkins is the job. Jobs are instances of build automation that run a defined set of tasks. Supporting different job configurations requires an automation system to distribute build jobs among different nodes, which is simply an environment containing a Jenkins agent or controller.

Agentes Jenkins rodam em uma variedade de ambientes diferentes como máquinas físicas, máquinas virtuais, clusters Kubernetes, e imagens Docker. Um agente Jenkins é um executável, residindo em um nó, que é encarregado pelo controlador para executar um trabalho.

Gerenciar os diferentes agentes do Jenkins é o trabalho do controlador de agentes, também conhecido como nó mestre. Em uma configuração de um único nó do Jenkins, o controlador também pode atuar como um agente Jenkins e executar trabalhos de compilação. Conforme os ambientes se tornam mais complexos, essa configuração se torna limitante.

Impedindo que o Nó Mestre do Controlador Execute Trabalhos

Antes de adicionar um agente Jenkins adicional, você deve primeiro remover o nó mestre do pool de agentes de compilação. Remover o nó mestre deste pool garante que o controlador tenha recursos adequados para coordenar os trabalhos de compilação. Abaixo você encontrará as configurações necessárias para impedir que o nó mestre execute um trabalho.

  1. Navegue até a interface do usuário do Jenkins através de um navegador. Neste tutorial, o Controlador do Jenkins usa o endereço 192.168.x.x:8080.
Logging into the Jenkins Dashboard.

2. Assim que o Painel do Jenkins aparecer, clique no link Gerenciar Jenkins.

Navigate to Manage Jenkins.

3. Em seguida, clique no link Configurar Sistema dentro da seção Configuração do Sistema.

Navigate to Configure System.

4. Role a página para baixo para localizar a configuração, # de executores, e defina o valor como 0. Essa configuração força o nó mestre, ou controlador, a não executar nenhum trabalho de compilação.

Set the # of executors option to 0.

5. Na mesma página, localize a URL do Jenkins. Altere a URL para o endereço IP e porta usados no navegador, em vez de localhost:8080.

Um nó de agente pode tentar usar localhost em vez do IP correto ao se comunicar com o controlador, se estiver configurado incorretamente. Com o endereço IP correto configurado, você pode evitar problemas futuros na comunicação do agente!

Update the Jenkins URL to the proper IP address.

6. Clique em Salvar para confirmar e aplicar as configurações atualizadas.

Configurando a Porta TCP para Agentes de Entrada

Para informar aos nós de agente do Jenkins no Windows como iniciar o serviço de trabalho e se comunicar com o controlador, é necessário configurar as configurações da porta TCP de entrada. Definir as configurações da porta TCP de entrada garante que o agente do Jenkins saiba como se conectar ao controlador do Jenkins via rede.

  1. Novamente, vá para a página de configuração Gerenciar Jenkins no painel do Jenkins.

2. Como mostrado abaixo, clique na seção Configurar Segurança Global para localizar as opções da porta TCP.

Navigate to the Configure Global Security section.

3. Role para baixo para localizar a seção Agentes e a Porta TCP para agentes de entrada. Altere a opção de Desativar para Aleatório. Com a configuração aleatória, o Jenkins seleciona um número de porta aleatório disponível e compartilha esse número de porta com um agente durante a conexão inicial com a porta HTTP do Jenkins.

Modify the TCP port for inbound agents setting to Random.

4. Por fim, clique em Salvar para aplicar a configuração atualizada.

Criar um Novo Nó de Agente Jenkins no Controlador Jenkins

Com todas as configurações apropriadas configuradas, é hora de criar o novo nó do Agente Jenkins. Antes disso, crie o diretório de trabalho no nó Windows. No nó Windows, crie o diretório C:\Jenkins.

Assim que o diretório de trabalho for criado, siga as etapas abaixo para configurar o novo nó!

  1. A partir do painel do Jenkins, clique no link Gerenciar Nós e Nuvens.
Navigate to Manage Nodes and Clouds.

2. Clique no link Novo Nó no menu à esquerda. Com apenas o controlador como agente, a lista de Nós mostrará apenas o nó principal inicialmente.

Add a New Node to Jenkins.

3. Insira um Nome do Nó, que é MyWindowsAgent1 para este tutorial, mas você pode usar um identificador mais apropriado para o seu ambiente, e selecione a opção Agente Permanente. Com agentes adicionais, você pode ver a opção Copiar Nó Existente também. Por fim, clique no botão Ok.

Enter the node name and type.

4. Configure o novo agente com as configurações abaixo. As opções destacadas em verde são os padrões.

  • # de executores: Normalmente corresponde ao # de núcleos do agente. Um trecho útil do PowerShell para encontrar isso é abaixo.
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property Number*
  • Diretório de Trabalho Remoto: C:\Jenkins
  • Método de Inicialização: Inicie o agente conectando-o ao mestre.
Configure the new Jenkins Agent node.

Em um recente artigo de soluções do Cloudbees.com, as opções de lançamento do agente foram alteradas nas versões após 2.176.1. O “Lançar agente via Web Start” agora é “Lançar agente conectando-se ao mestre“.

5. Clique no botão Salvar e vá para a tela da lista de nós, onde o novo nó do Agente Jenkins para Windows será exibido.

6. Clique no nome do novo nó, MyWindowsAgent1, para obter os links de instalação do agente.

Navigate to the new Windows node.

7. Agora abra uma conexão de desktop remoto (RDP) para o nó Windows onde o agente Jenkins será hospedado.

8. Acesse http://controllerip:port/computer/nodename, via navegador, no futuro agente Windows.

9. Clique no botão Lançar para baixar o instalador do agente e iniciar a instalação do agente Jenkins.

Utilize the instructions and links to install the agent.

Próximos Passos

Existem muitas maneiras de utilizar seus novos agentes. Desde a execução de scripts PowerShell no Jenkins até a execução do Jenkins no Docker, você descobrirá que existem muitas maneiras de automatizar seu ambiente de construção!

Source:
https://adamtheautomator.com/jenkins-agent/