introduction
Drone est une plate-forme de test et de livraison automatisée et continue qui fonctionne sur votre propre infrastructure. Drone prend en charge n'importe quelle langue, service ou base de données pouvant s'exécuter à l'intérieur d'un conteneur Docker. La configuration du pipeline Drone est écrite au format YAML dans un fichier nommé .drone.yml
qui réside à la racine de votre projet. Le drone s'intègre facilement à Github, Gitlab, Bitbucket ou Gitea. Dans ce tutoriel, nous utiliserons Drone avec Github.
Exigences
- Nouvelle instance Vultr Ubuntu 18.04 avec au moins 2 Go de RAM.
- Utilisateur non root avec les privilèges sudo .
- Compte Github.
Assurez-vous que votre système est à jour.
sudo apt update && sudo apt upgrade -y
Étape 1: installer Docker CE
Docker fournit un script d'installation facile à utiliser qui peut être exécuté sur n'importe quel système pris en charge. Il configurera le référentiel officiel Docker avec l'installation de Docker Community Edition.
Installez la dernière version de Docker.
curl -L https://get.docker.com | bash
Une fois que vous avez installé Docker, ajoutez l'utilisateur actuel dans le docker
groupe afin que nous puissions exécuter les commandes docker à partir de l'utilisateur connecté.
sudo usermod -aG docker $USER
Pour que la commande ci-dessus prenne effet, vous devrez vous déconnecter du terminal et vous reconnecter.
Testez la version docker pour vous assurer que nous pouvons exécuter la docker
commande avec succès .
docker --version
Vous verrez une sortie similaire.
user@vultr:~$ docker --version
Docker version 18.09.5, build e8ff056
Étape 2: Obtenez l'ID et le secret du client Github
Connectez-vous à Github et naviguez pour enregistrer une nouvelle application OAuth . Indiquez le nom de votre choix à l'application OAuth. Fournissez l' URL de la page d'accueil en tant que http://203.0.113.101
et l' URL de rappel d'autorisation en tant que http://203.0.113.101/login
. Assurez-vous de remplacer 203.0.113.101
par votre adresse IP Vultr réelle ou tout nom de domaine pointé vers votre instance Vultr.
Une fois que vous avez cliqué sur le Register application
bouton, vous recevrez un ID client et un secret client .
Notez-les, car ils seront requis plus loin dans le didacticiel.
Étape 3: installer Drone CI
Téléchargez la dernière version disponible de Drone.
docker pull drone/drone:1
Vous pouvez toujours vérifier la dernière balise sur la page Hub du docker Drone .
Créez un nouveau fichier d'environnement pour stocker la configuration du drone.
sudo nano /var/drone.env
Mettez la configuration suivante dans l'éditeur. Assurez-vous de remplacer les valeurs d'exemple par les valeurs réelles.
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
Remarque: DRONE_RUNNER_CAPACITY
peut être augmenté en fonction de la RAM disponible sur votre instance.
Enregistrez le fichier et quittez l'éditeur.
Démarrez Drone en exécutant la commande suivante.
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
C'est tout. Pour ouvrir l'interface Web du Drone, accédez http://203.0.113.101
à votre navigateur et connectez-vous à l'aide de votre compte Github.