CODECAVE
Tempo di lettura: 3 min

Agente di build self-hosted per Azure Pipelines

Agente di build self-hosted per Azure Pipelines

Benvenuto nella nostra guida all'installazione dell'Azure Agent In questo articolo ripercorriamo il processo di installazione, che tu stia configurando un agente self-hosted per Azure Pipelines.

Che cos'è Azure DevOps?

Azure DevOps è un servizio integrato offerto da Azure. Trattandosi di una soluzione SaaS, non dispone di un host preinstallato o, più precisamente, di un agente che ne esegua le operazioni. Di conseguenza, per sfruttare davvero la nostra pipeline di Azure DevOps dobbiamo assicurarci che nell'Agent Pool sia configurato un agente. In questo articolo vedremo come configurare un agente e, più avanti, come creare un servizio per il nostro host.

Che cos'è un Azure Agent?

Azure Agent è il software che ti permette di compilare il codice o distribuire software tramite Azure Pipelines. Fa da ponte tra la tua infrastruttura e i servizi di Azure e garantisce un processo di automazione senza interruzioni.

Esistono due tipi principali di agenti:

  • Agenti gestiti da Microsoft: li gestisce Microsoft e non richiedono alcuna configurazione da parte tua.
  • Agenti self-hosted: li configuri e li gestisci sulla tua infrastruttura, con un controllo maggiore sull'ambiente di build. Dopo aver installato l'agente sulla tua macchina, puoi installarci qualsiasi altro software richiesto dai tuoi job di build o di deployment.

Configurare un agente self-hosted può sembrare complicato, ma seguendo i passaggi qui sotto possiamo configurarne facilmente uno nel nostro Agent Pool.

Procediamo quindi passo dopo passo

Passaggio 1: creare l'Agent Pool

  • Accedi a Microsoft Azure
  • Entra nel tuo progetto di sviluppo in DevOps
(https://dev.azure.com/<your project name>)
  • Vai su Project Settings -> Pipelines -> Agent Pools e clicca su New Agent Pool.
  • Scegli l'agente self-hosted
  • Inserisci il nome dell'agente e clicca su Create

Agente di build self-hosted per Azure Pipelines

Passaggio 2: generare il Personal Access Token (PAT)

Devi andare nella sezione Personal Access Tokens, sotto User Settings, nell'angolo in alto a destra dello schermo. Assegnagli un nome adeguato e concedi i permessi in base alle tue esigenze.

Agente di build self-hosted per Azure Pipelines

Agente di build self-hosted per Azure Pipelines

Se hai dei dubbi, prova a seguire le istruzioni a questo link - Chiave PAT.

Passaggio 3: verificare i prerequisiti

Prima di avviare l'installazione, assicurati che il tuo sistema soddisfi i requisiti; qui sotto trovi i link alla documentazione ufficiale.

Sul fronte della sicurezza, questi sono i principi di base:

  • Proteggi le cartelle dell'agente, perché contengono informazioni sensibili.
  • Assegna i permessi minimi necessari al funzionamento dell'agente.

Passaggio 4: scaricare l'agente

Una volta creato l'agent pool e generato il PAT, seleziona il pool e clicca su New Agent. Nella finestra che si apre, scegli il sistema operativo che ti serve e prosegui di conseguenza.

Agente di build self-hosted per Azure Pipelines

Passaggio 5: configurare l'agente

Prendiamo come riferimento la configurazione su Linux; con gli altri sistemi operativi i passaggi sono simili.

Dopo aver cliccato su "Download" o copiato l'URL, devi accedere alla tua macchina virtuale.

Crea una cartella per l'agente e spostati al suo interno con il comando seguente:

mkdir myagent && cd myagent

Su Linux, scarica l'agente con il comando seguente:

wget https://vstsagentpackage.azureedge.net/agent/3.240.1/vsts-agent-linux-x64-3.240.1.tar.gz

Estrai il contenuto con il comando seguente:

tar zxvf ./vsts-agent-linux-x64-3.240.1.tar.gz

Dopo aver estratto il contenuto, configura l'agente con il comando:

./config.sh

Agente di build self-hosted per Azure Pipelines

Indica l'URL del server: (https://dev.azure.com/<your project name>), la chiave PAT e il nome dell'agent pool che hai creato prima, il nome dell'agente e la cartella di lavoro.

Una volta configurato, l'agente comparirà come qui sotto nel tuo agent pool in Azure DevOps, con l'indicatore rosso - Offline.

Puoi eseguire l'agente in modo interattivo con questo script:

./run.sh

così passerà da Offline a Online.

Quando ./run.sh termina, il nostro agente torna offline e non sarà disponibile per i deployment finché non lo eseguiamo di nuovo.

Per evitare passaggi manuali inutili e avere un agente sempre in ascolto, lo configureremo come servizio.

Possiamo creare un servizio con questo script, dalla cartella dell'agente:

./svc.sh install && ./svc.sh start

Oppure creare un file di configurazione del servizio

sudo nano /etc/systemd/system/agent.service

Incolla nel file il contenuto seguente:

[Unit]
Description=Azure-devops-agent-ubuntu service

[Service]
User=<your username>
ExecStart=/path/to/your/agent/run.sh
Restart=always

[Install]
WantedBy=multi-user.target

Sostituisci <your username> e /path/to/your/agent/run.sh con i tuoi dati.

Dopo aver salvato il file, attiva e avvia il servizio:

   sudo systemctl daemon-reload
    sudo systemctl enable agent.service
    sudo systemctl start agent.service
    sudo systemctl status agent.service

Il servizio del tuo Azure agent è ora attivo: resterà sempre in esecuzione ed è pronto ad accettare le attività di build!

Considerazioni finali

Che tu usi Windows, Linux o MacOS, installare l'Azure Agent è un passaggio importante per automatizzare i processi di build e di deployment. Seguendo le istruzioni dettagliate per ciascun sistema operativo, puoi contare su un'integrazione sicura e senza intoppi con i servizi di Azure.

Ci auguriamo che questa guida dettagliata ti sia stata utile. Se hai domande o ti serve altro aiuto, consulta la documentazione ufficiale di Azure.