Knowledgebase

Aveti intrebari? Sunteti in locul potrivit!

Cum instalam Drone CI pe Ubuntu 18.04

Drone este o solutie automata de testate care ruleaza pe propria infrastructura. Drone suporta orice limbas, serviciu sau baza de date care poate rula intr-un container Docker.  Configurarea Drone este scrisa intr-un format YAML  care se afla in in root-ul proiectului numit .drone.yml . Drone poate fi usor integrat cu Github, Gitlab, Bitbucket sau  Gitea. In acest tutorial folosim Drone cu Github.

 

Pasul 1: Instalarea Docker CE

Docker ofera posibilitatea de ainstalar usor script-uri si poate fi executat pe oricare sistem. Se va configura repository-ul oficial Docker

Instalati ultima versiune Docker

curl -L https://get.docker.com | bash

Dupa ce ati instalat Docker, Adaugati urmatorul utilizator in grupul  docker astfel puteti executa comenzi de la respectivul user.

sudo usermod -aG docker $USER

Ca modificarile sa aiba efect, este necesar sa ne delogam si relogam in terminal.

Testat versiunea Docker executand urmatoarea comanda  docker

docker --version

Ar trebui sa aveti un output de forma .

[email protected]:~$ docker --version
Docker version 18.09.5, build e8ff056

Pasul 2: Setat Github Client ID si  Secret

Autentificati-va la Github si navigati la  register a new OAuth application.  Setati un numel ela alegere pentru  OAuth application. Setati un  Homepage URL ex: http://203.0.113.101 si Authorization callback URL ca http://203.0.113.101/login. Asigurati-va ca inlocuiti IP-ul 203.0.113.101 cu IP-ul dvs. sau cu un nume de domeniu care pointeaza spre respectiva instanta .

Odata ce ati selectata butonul  Register application se va genera un  Client ID si Client Secret

 

Pasul 3: Instalati Drone CI

Downloadati ultima versiune  Drone.

docker pull drone/drone:1

Puteti verifica ultimua versiune pe pagina docker hub page.

Creati un nou environment pentru a salva  configurarea Drone .

sudo nano /var/drone.env

Adaugati urmatoarea configurare in editor editor. Asigurati-va a inlocuiti valorile cu cele actuale .

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  poate fi modificat in functie de limitele VPS-ului achizitionat .

Salvati fisierul si inchideti editorul .

Porniti  Drone executand urmatoarea comanda ”

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

Pentru a deschide interfata  Drone , accesati http://203.0.113.101 si autentificati-va utilizand datele contului  Github .