introduzione
Drone è una piattaforma di test e consegna automatizzata e continua che funziona sulla propria infrastruttura. Drone supporta qualsiasi lingua, servizio o database che può essere eseguito all'interno di un contenitore Docker. La configurazione della pipeline Drone è scritta nel formato YAML in un file denominato .drone.yml
che risiede nella radice del progetto. Drone si integra facilmente con Github, Gitlab, Bitbucket o Gitea. In questo tutorial, useremo Drone con Github.
Requisiti
- Nuova istanza di Vultr Ubuntu 18.04 con almeno 2 GB di RAM.
- Utente non root con privilegi sudo .
- Account Github.
Assicurati che il tuo sistema sia aggiornato.
sudo apt update && sudo apt upgrade -y
Passaggio 1: installare Docker CE
Docker fornisce uno script di installazione facile da usare che può essere eseguito su qualsiasi sistema supportato. Configurerà il repository ufficiale Docker insieme all'installazione della Docker Community Edition.
Installa l'ultima versione di Docker.
curl -L https://get.docker.com | bash
Dopo aver installato Docker, aggiungere l'utente corrente nel docker
gruppo in modo da poter eseguire i comandi docker dall'utente che ha effettuato l'accesso.
sudo usermod -aG docker $USER
Per rendere effettivo il comando precedente, sarà necessario disconnettersi dal terminale e accedere nuovamente.
Prova la versione docker per assicurarti di poter eseguire correttamente il docker
comando.
docker --version
Vedrai un risultato simile.
user@vultr:~$ docker --version
Docker version 18.09.5, build e8ff056
Passaggio 2: ottieni l'ID client e il segreto di Github
Accedi a Github e naviga per registrare una nuova applicazione OAuth . Fornisci qualsiasi nome di tua scelta all'applicazione OAuth. Fornire l' URL della home page come http://203.0.113.101
e l' URL di callback di autorizzazione come http://203.0.113.101/login
. Assicurati di sostituire 203.0.113.101
con il tuo attuale indirizzo IP Vultr o qualsiasi nome di dominio puntato verso l'istanza Vultr.
Dopo aver fatto clic sul Register application
pulsante, ti verranno dati un ID cliente e un segreto cliente .
Prendi nota di questi, poiché saranno richiesti ulteriormente nel tutorial.
Passaggio 3: installare Drone CI
Scarica l'ultima versione disponibile di Drone.
docker pull drone/drone:1
Puoi sempre controllare l'ultimo tag nella pagina dell'hub della finestra mobile Drone .
Crea un nuovo file di ambiente per memorizzare la configurazione del Drone.
sudo nano /var/drone.env
Inserisci la seguente configurazione nell'editor. Assicurati di sostituire i valori di esempio con quelli effettivi.
DRONE_GITHUB_SERVER=https://github.com
DRONE_GITHUB_CLIENT_ID=43ddc12735c28example
DRONE_GITHUB_CLIENT_SECRET=0b8c7c479fefb027758dbdfc5662b7c4example
DRONE_RUNNER_CAPACITY=2
DRONE_SERVER_HOST=http://203.0.113.101
DRONE_SERVER_PROTO=http
Nota: DRONE_RUNNER_CAPACITY
può essere aumentato in base alla RAM disponibile sull'istanza.
Salvare il file ed uscire dall'editor.
Avvia Drone eseguendo il comando seguente.
docker run \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--volume=/var/lib/drone:/data \
--env-file=/var/drone.env \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:1
Questo è tutto. Per aprire l'interfaccia utente Web di Drone, visitare http://203.0.113.101
il browser e accedere utilizzando l'account Github.