Esercitazione: Usare Istanze di Azure Container come agente di compilazione Jenkins
Importante
Molti servizi di Azure dispongono di plug-in Jenkins. Alcuni di questi plug-in non saranno supportati a partire dal 29 febbraio 2024. L'interfaccia della riga di comando di Azure è il modo attualmente consigliato per integrare Jenkins con i servizi di Azure. Per altre informazioni, vedere l'articolo Plug-in Jenkins per Azure.
Istanze di Azure Container offre un ambiente isolato on demand utilizzabile in modalità burst per eseguire carichi di lavoro in contenitori. Grazie a questi attributi, le istanze di contenitore di Azure sono un'ottima piattaforma per l'esecuzione di processi di compilazione di Jenkins su vasta scala. Questo articolo illustra come distribuire un servizio Istanze di Azure Container e aggiungerlo come agente di compilazione permanente per un controller Jenkins.
Per altre informazioni su Istanze di Azure Container, vedere Informazioni su Istanze di Azure Container.
Prerequisiti
- Sottoscrizione di Azure: se non si dispone di una sottoscrizione di Azure, prima di iniziare, creare un account Azure gratuito.
- Server Jenkins: se non è installato un server Jenkins, creare un server Jenkins in Azure.
Preparare il controller Jenkins
Passare al portale di Jenkins.
Nel menu selezionare Manage Jenkins (Gestisci Jenkins).
In System Configuration (Configurazione del sistema) selezionare Configure System (Configura sistema).
Verificare che l'opzione Jenkins URL (URL di Jenkins) sia impostata sull'indirizzo HTTP dell'installazione di Jenkins, ossia
http://<your_host>.<your_domain>:8080/
.Nel menu selezionare Manage Jenkins (Gestisci Jenkins).
In Security (Sicurezza) selezionare Configure Global Security (Configura sicurezza globale).
In Agents (Agenti) specificare la porta Fixed (Fissa) e immettere il numero di porta appropriato per l'ambiente.
Seleziona Salva.
Creare l'agente di lavoro di Jenkins
Passare al portale di Jenkins.
Nel menu selezionare Manage Jenkins (Gestisci Jenkins).
In System Configuration (Configurazione del sistema) selezionare Manage Nodes and Clouds (Gestisci nodi e cloud).
Scegliere New Node (Nuovo nodo) dal menu.
Immettere un valore per Node Name (Nome nodo).
Selezionare Permanent Agent (Agente permanente).
Seleziona OK.
Immettere un valore per Remote root directory (Directory radice remota). Ad esempio,
/home/jenkins/work
Aggiungere un'etichetta (le etichette vengono usate per raggruppare più agenti in un gruppo logico. Un esempio di etichetta è
linux
quello di raggruppare gli agenti Linux con il valore dilinux
.Impostare Launch method (Metodo di avvio) su Launch agent by connecting to the master (Avvia agente tramite connessione al master).
Verificare che tutti i campi obbligatori siano stati specificati o immessi.
Seleziona Salva.
Nella pagina di stato dell'agente dovrebbero essere visualizzati i valori
JENKINS_SECRET
eAGENT_NAME
. Lo screenshot seguente mostra come identificare i valori. Entrambi i valori sono necessari per creare l'istanza di Azure Container.
Creare un'istanza di Azure Container con l'interfaccia della riga di comando
Usare il comando az group create per creare un gruppo di risorse di Azure.
az group create --name my-resourcegroup --location westus
Usare az container create per creare un'istanza di Azure Container. Sostituire i segnaposto con i valori ottenuti durante la creazione dell'agente di lavoro.
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>"
Sostituire
http://jenkinsserver:port
,<JENKINS_SECRET>
e<AGENT_NAME>
con le informazioni del controller e dell'agente Jenkins. Dopo l'avvio, il contenitore si connetterà automaticamente al server del controller Jenkins.Tornare al dashboard di Jenkins e controllare lo stato dell'agente.
Nota
Gli agenti Jenkins si connettono al controller tramite la porta , assicurarsi che la porta
5000
sia consentita in ingresso al controller Jenkins.
Creare un'attività di compilazione
A questo punto, viene creato un processo di compilazione Jenkins per illustrare le compilazioni Jenkins in un'istanza di contenitore di Azure.
Selezionare New item (Nuovo elemento), assegnare un nome al progetto di compilazione, ad esempio aci-demo, selezionare Freestyle project (Progetto Freestyle) e fare clic su OK.
In General (Generale) verificare che sia selezionata l'opzione Restrict where this project can be run (Limita i casi in cui eseguire il progetto). Immettere linux per Label Expression (Espressione etichetta). Questa configurazione assicura che il processo di compilazione venga eseguito nel cloud delle istanze di contenitore di Azure.
In Build (Compilazione) selezionare Add build step (Aggiungi passaggio di compilazione) e quindi selezionare Execute Shell (Esegui shell). Immettere
echo "aci-demo"
come comando.Seleziona Salva.
Eseguire il processo di compilazione
Per testare il processo di compilazione e osservare Istanze di Azure Container avviare manualmente una compilazione.
Selezionare Build Now (Compila) per avviare un processo di compilazione. Dopo l'avvio del processo viene visualizzato lo stato di un processo.
Fare clic su build #1 nella cronologia di compilazione.
Selezionare Output della console per visualizzare l'output delle compilazioni.