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
- Assinatura do Azure: se você não tiver uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
- Servidor Jenkins: Se você não tiver um servidor Jenkins instalado, crie um servidor Jenkins no Azure.
Preparar o controlador Jenkins
Navegue até o seu portal 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/
.No menu, selecione Gerenciar Jenkins.
Em Segurança, selecione Configurar Segurança Global.
Em Agentes, especifique Porta fixa e insira o número de porta apropriado para seu ambiente.
Exemplo de configuração:
Selecione Guardar.
Criar agente de trabalho Jenkins
Navegue até o seu portal 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.
Insira um valor para Diretório raiz remoto. Por exemplo,
/home/jenkins/work
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 delinux
.Defina o método Launch como Launch agent conectando-se ao master.
Verifique se todos os campos obrigatórios foram especificados ou inseridos:
Selecione Guardar.
Na página de status do agente, você verá o
JENKINS_SECRET
eAGENT_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.
Criar instância de contêiner do Azure com CLI
Use az group create para criar um grupo de recursos do Azure.
az group create --name my-resourcegroup --location westus
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.Retorne ao painel do Jenkins e verifique o status do agente.
Nota
Os agentes Jenkins se conectam ao controlador via porta , garantem que a porta
5000
seja 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.
Selecione Novo Item, dê ao projeto de compilação um nome como aci-demo, selecione Projeto Freestyle e selecione OK.
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.
Em Compilar, selecione Adicionar etapa de compilação e selecione Executar Shell. Digite
echo "aci-demo"
como o comando.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.
Selecione Compilar agora para iniciar um trabalho de compilação. Quando o trabalho começar, você verá um status semelhante à imagem a seguir:
Clique em build #1 no Build History.
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)