Tutorial: Usar instâncias de contêiner do Azure como um agente de compilação Jenkins

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.

As Instâncias de Contêiner do Azure (ACI) fornecem um ambiente sob demanda, intermitível e isolado para executar cargas de trabalho em contêineres. Por causa desses atributos, a ACI é uma ótima plataforma para executar trabalhos de construção Jenkins em grande escala. Este artigo mostra como implantar uma ACI e adicioná-la como um agente de compilação permanente para um controlador Jenkins.

Para obter mais informações sobre Instâncias de Contêiner do Azure, consulte Sobre Instâncias de Contêiner do Azure.

Pré-requisitos

Preparar o controlador Jenkins

  1. Navegue até o seu portal Jenkins.

  2. No menu, selecione Gerenciar Jenkins.

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

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

  5. No menu, selecione Gerenciar Jenkins.

  6. Em Segurança, selecione Configurar Segurança Global.

  7. Em Agentes, especifique Porta fixa e insira o número de porta apropriado para seu ambiente.

    Exemplo de configuração: Configure TCP port

  8. Selecione Guardar.

Criar agente de trabalho Jenkins

  1. Navegue até o seu portal Jenkins.

  2. No menu, selecione Gerenciar Jenkins.

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

  4. No menu, selecione Novo nó.

  5. Insira um valor para Nome do Nó.

  6. Selecione Agente Permanente.

  7. Selecione OK.

  8. Insira um valor para Diretório raiz remoto. Por exemplo, /home/jenkins/work

  9. Adicionar um Rótulo (Os rótulos são usados para agrupar vários agentes em um grupo lógico. Um exemplo de rótulo seria linux agrupar seus agentes Linux.) com o valor de linux.

  10. Defina o método Launch como Launch agent conectando-se ao master.

  11. Verifique se todos os campos obrigatórios foram especificados ou inseridos:

    Example Jenkins agent configuration

  12. Selecione Guardar.

  13. Na página de status do agente, você verá o JENKINS_SECRET e AGENT_NAME. A captura de tela a seguir mostra como identificar os valores. Ambos os valores são necessários quando você cria a Instância de Contêiner do Azure.

    The build-agent secret is displays after its successful creation.

Criar instância de contêiner do Azure com CLI

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

    az group create --name my-resourcegroup --location westus
    
  2. Use az container create para criar uma Instância de Contêiner do Azure. Substitua os espaços reservados pelos valores obtidos quando você criou o agente de trabalho.

    az container create \
      --name my-dock \
      --resource-group my-resourcegroup \
      --ip-address Public --image jenkins/inbound-agent:latest \
      --os-type linux \
      --ports 80 \
      --command-line "jenkins-agent -url http://jenkinsserver:port <JENKINS_SECRET> <AGENT_NAME>"
    

    Substitua http://jenkinsserver:port, <JENKINS_SECRET>e pelas informações do controlador e <AGENT_NAME> agente Jenkins. Depois que o contêiner for iniciado, ele se conectará ao servidor controlador Jenkins automaticamente.

  3. Retorne ao painel do Jenkins e verifique o status do agente.

    Agent has started successfully

    Nota

    Os agentes Jenkins se conectam ao controlador via porta , garantem que a porta 5000seja permitida para entrar no controlador Jenkins.

Criar um trabalho de compilação

Agora, um trabalho de compilação do Jenkins é criado para demonstrar que o Jenkins se baseia em uma instância de contêiner do Azure.

  1. Selecione Novo Item, dê ao projeto de compilação um nome como aci-demo, selecione Projeto Freestyle e selecione OK.

    Box for the name of the build job, and list of project types

  2. Em Geral, certifique-se de que a opção Restringir onde este projeto pode ser executado está selecionada. Digite linux para a expressão de rótulo. Essa configuração garante que esse trabalho de compilação seja executado na nuvem ACI.

  3. Em Compilar, selecione Adicionar etapa de compilação e selecione Executar Shell. Digite echo "aci-demo" como o comando.

  4. Selecione Guardar.

Executar o trabalho de compilação

Para testar o trabalho de compilação e observar as Instâncias de Contêiner do Azure manualmente, inicie uma compilação.

  1. Selecione Compilar agora para iniciar um trabalho de compilação. Quando o trabalho começar, você verá um status semelhante à imagem a seguir:

  2. Clique em build #1 no Build History.

  3. Selecione Saída do console para visualizar a saída das compilações.

Próximos passos

CI/CD to Azure App Service (CI/CD no Serviço de Aplicações do Azure)