Introduzione: Installare Jenkins in una macchina virtuale Linux di Azure
Questo articolo illustra come installare Jenkins in una macchina virtuale Ubuntu Linux con gli strumenti e i plug-in configurati per l'uso con Azure.
In questo articolo si apprenderà come:
- Creare un file di configurazione che scarica e installa Jenkins
- Creare un gruppo di risorse
- Crea una macchina virtuale con il file di configurazione
- Aprire la porta 8080 per accedere a Jenkins nella macchina virtuale
- Connettersi alla macchina virtuale tramite SSH
- Configurare un processo Jenkins di esempio basato su una semplice app Java in GitHub
- Compilare il processo Jenkins di esempio
1. Configurare l'ambiente
- Sottoscrizione di Azure: se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
2. Aprire Cloud Shell
Se è già aperta una sessione di Cloud Shell, è possibile passare alla sezione successiva.
Passare al portale di Azure
Se necessario, accedere alla sottoscrizione di Azure e modificare la directory di Azure.
Aprire Cloud Shell.
Se Cloud Shell non è stato usato in precedenza, configurare le impostazioni dell'ambiente e di archiviazione.
Selezionare l'ambiente della riga di comando.
3. Creare una macchina virtuale
Creare una directory di test denominata
jenkins-get-started
.Passare alla directory di test.
Creare un file denominato
cloud-init-jenkins.txt
.Incollare il codice seguente nel nuovo file:
#cloud-config package_upgrade: true runcmd: - sudo apt install openjdk-11-jre -y - curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null - echo 'deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/' | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null - sudo apt-get update && sudo apt-get install jenkins -y - sudo service jenkins restart
Eseguire az group create per creare un gruppo di risorse.
az group create --name jenkins-get-started-rg --location eastus
Eseguire az vm create per creare una macchina virtuale.
az vm create \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm \ --image UbuntuLTS \ --admin-username "azureuser" \ --generate-ssh-keys \ --public-ip-sku Standard \ --custom-data cloud-init-jenkins.txt
Eseguire az vm list per verificare la creazione (e lo stato) della nuova macchina virtuale.
az vm list -d -o table --query "[?name=='jenkins-get-started-vm']"
Quando Jenkins viene eseguito sulla porta 8080, eseguire az vm open per aprire la porta 8080 nella nuova macchina virtuale.
az vm open-port \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm \ --port 8080 --priority 1010
4. Configurare Jenkins
Eseguire az vm show per ottenere l'indirizzo IP pubblico per la macchina virtuale di esempio.
az vm show \ --resource-group jenkins-get-started-rg \ --name jenkins-get-started-vm -d \ --query [publicIps] \ --output tsv
Punti principali:
- Il parametro
--query
limita l'output agli indirizzi IP pubblici per la macchina virtuale.
- Il parametro
Usando l'indirizzo IP recuperato nel passaggio precedente, stabilire una sessione SSH con la macchina virtuale. Sarà necessario confermare la richiesta di connessione.
ssh azureuser@<ip_address>
Punti principali:
- quando la connessione viene stabilita, il prompt di Cloud Shell include il nome utente e il nome macchina virtuale:
azureuser@jenkins-get-started-vm
.
- quando la connessione viene stabilita, il prompt di Cloud Shell include il nome utente e il nome macchina virtuale:
Verificare che Jenkins sia in esecuzione recuperando lo stato del servizio Jenkins.
service jenkins status
Punti principali:
- Se viene visualizzato un errore relativo al servizio non esistente, potrebbe essere necessario attendere un paio di minuti per l'installazione e l'inizializzazione di tutti gli elementi.
Ottenere la password generata automaticamente di Jenkins.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Usando l'indirizzo IP, aprire l'URL seguente in un browser:
http://<ip_address>:8080
Immettere la password recuperata in precedenza e selezionare Continue (Continua).
Selezionare Seleziona plug-in da installare.
Nella casella del filtro nella parte superiore della pagina immettere
github
. Selezionare il plug-in GitHub e selezionare Installa.Immettere le informazioni per il primo utente amministratore e quindi selezionare Save and Continue (Salva e continua).
Nella pagina Instance Configuration (Configurazione istanza) selezionare Save and Finish (Salva e fine).
Selezionare Start using Jenkins (Inizia a usare Jenkins).
5. Creare il primo processo
Nella home page di Jenkins selezionare Create a job (Crea un processo).
Immettere il nome
mySampleApp
per il processo, selezionare Freestyle project (Progetto Freestyle) e quindi selezionare OK.Selezionare la scheda Gestione del codice sorgente. Abilitare Git e immettere l'URL seguente per il valore dell'URL del repository:
https://github.com/spring-guides/gs-spring-boot.git
. Modificare quindi l'identificatore di ramo in*/main
.Selezionare la scheda Build (Compilazione) e quindi Add build step (Aggiungi passaggio di compilazione)
Dall'elenco a discesa selezionare Invoke Gradle script (Richiama script Gradle).
Selezionare Use Gradle Wrapper (Usa wrapper di Gradle) e quindi immettere
complete
in Wrapper location (Percorso wrapper) ebuild
in Tasks (Attività).Selezionare Advanced (Avanzate) e immettere
complete
nel campo Root Build script (Script di compilazione radice).Scorrere fino alla parte inferiore della pagina e selezionare Save (Salva).
6. Compilare l'app Java di esempio
Quando viene visualizzata la home page per il progetto, selezionare Build Now (Compila adesso) per compilare il codice e creare il pacchetto dell'app di esempio.
Un grafico sotto l'intestazione Build History (Cronologia compilazione) indica che il processo è in fase di compilazione.
Al termine della compilazione selezionare il collegamento Workspace (Area di lavoro).
Passare a
complete/build/libs
per verificare che il file.jar
sia stato compilato correttamente.Il server Jenkins è ora pronto per la compilazione dei progetti dell'utente in Azure.
Risoluzione dei problemi
Se si verificano problemi durante la configurazione di Jenkins, vedere la pagina di installazione di Jenkins per le istruzioni più recenti e i problemi noti.