Tutorial: usar as Instâncias de Contêiner do Azure como um agente de build Jenkins
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.
As instâncias de contêiner do Azure (ACI) fornecem um ambiente sob demanda, expansível e isolado para executar as cargas de trabalho em contêiner. Devido a esses atributos, ACI faz uma grande plataforma para executar os trabalhos internos de Jenkins em grande escala. Este artigo mostra como implantar um ACI e adicioná-lo como um agente de build permanente para um controlador Jenkins.
Para obter mais informações sobre as Instâncias de Contêiner do Azure, confira Sobre as Instâncias de Contêiner do Azure.
Pré-requisitos
- Assinatura do Azure: Caso você não tenha 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é seu portal do Jenkins.
No menu, selecione Gerenciar Jenkins.
Em Configuração do Sistema, selecione Configurar o Sistema.
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/
.No menu, selecione Gerenciar Jenkins.
Em Segurança, selecione Configurar Segurança Global.
Em Agentes, especifique a porta Fixa e insira o número da porta apropriado para o seu ambiente.
Selecione Salvar.
Criar agente de trabalho do Jenkins
Navegue até seu portal do 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
Adicione um Rótulo (Rótulos são usados para agrupar vários agentes em um grupo lógico. Um exemplo de rótulo seria
linux
para agrupar seus agentes Linux.) com o valor delinux
.Defina o Método de inicialização como Inicializar agente pela conexão ao mestre.
Verifique se todos os campos obrigatórios foram especificados ou inseridos.
Selecione Salvar.
Na página de status do agente, você deve ver o
JENKINS_SECRET
e oAGENT_NAME
. A captura de tela a seguir mostra como identificar os valores. Os dois valores são obrigatórios quando você cria a instância de contêiner do Azure.
Criar instância de contêiner do Azure com a 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 ao criar 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<AGENT_NAME>
pelas informações do controlador e do agente do Jenkins. Depois de iniciar, o contêiner se conectará ao servidor do controlador Jenkins automaticamente.Retorne ao painel do Jenkins e verifique o status do agente.
Observação
Os agentes do Jenkins se conectam ao controlador por meio da porta
5000
, verifique se a porta tem permissão de entrada para o controlador do Jenkins.
Criar um trabalho de build
Agora, um trabalho de build do Jenkins é criado para demonstrar builds dos Jenkins em uma instância de contêiner do Azure.
Selecione Novo Item, dê ao projeto de build um nome como aci-demo, selecione Freestyle project e selecione OK.
Em Geral, assegure-se de que Restringir onde este projeto pode ser executado está selecionado. Insira linux para a expressão de rótulo. Essa configuração assegura que esse trabalho de build execute na nuvem do ACI.
Sob Build, selecione Adicionar etapa de compilação e selecione Executar Shell. Insira
echo "aci-demo"
como o comando.Selecione Salvar.
Executar o trabalho de build
Para testar o trabalho de build e observar as Instâncias de Contêiner do Azure, inicie um build manualmente.
Selecione Compilar Agora para iniciar um trabalho de build. Depois que o trabalho for iniciado, você verá um status de trabalho.
Clique no build #1 no Histórico de build.
Selecione Saída do Console para exibir a saída dos builds.