Introduction
CI/CD - Réponse à des requêtes ou déclencheurs spécifiques lors de l'utilisation de conteneurs,
ou tout autre projet, c'est-à-dire, agit comme une notification des changements dans le projet.
Simplifie le travail avec la notification, le stockage des résultats, ainsi que la publication de divers projets.
Drone CI dispose également d'un plan SaaS (logiciel en tant que service) gratuit qui est disponible pour les projets open source.
S'intègre avec Github, Bitbucket, Gitch. La configuration est personnalisable grâce à yaml (+ starlark et jsconnet).
Il ne nécessite pas beaucoup de ressources pour le faire fonctionner, ce qui économise du matériel et vous permet de démarrer avec Dorne même sur des appareils faibles.
Cela requiert Docker être pré-installé, dans ma publication je pourrai utiliser la version pré-installée de Docker.
Pour installer Docker, utilisez notre Des instructions ou créer un serveur in Serverspace avec l'application déjà installée.
Dépendances requises pour le déploiement
- A github compte.
- Vous avez besoin de votre propre domaine ou d'une adresse IP ouverte pour que Drone fonctionne.
- Le serveur doit également disposer de 11 Go d'espace libre space, et 2 gigaoctets de RAM pour faire fonctionner les conteneurs.
Configuration préliminaire de la machine
Visiter la page du compte paramétres, et y créer un accès pour déléguer notre machine pour github.
Générez votre propre application OAuth en changeant d'abord le nom de domaine en sous-domaine "drone.****".
Vous pouvez utiliser votre propre adresse IP de votre serveur en remplaçant le domaine
"http://yourip" dans l'onglet URL de la page d'accueil vers "http://votrerip/login".
Copiez votre client id, ainsi que créer une clé d'autorisation, elle sera nécessaire plus tard.
Configurer l'appareil
Créez une clé de serveur RPC.
openssl rand -hex 16
Créez et configurez la configuration locale.
nano /etc/drone
DRONE_SERVER_HOST=drone.steammmmm.space
#Host of your subdomain
DRONE_SERVER_PROTO=http
#what type of connection you will use
DRONE_GITHUB_CLIENT_ID=id_from_git_OAuth
#Client id from github
DRONE_GITHUB_CLIENT_SECRET=secret_from_github
#Secret from github
DRONE_RPC_SECRET=secret_from_server
#rpc password that we created on server
DRONE_USER_CREATE=username:barikasss,admin:true
#Username of your profile github
La liste complète des options de fichier de configuration disponibles se trouve sur le page développeur.
Installation de l'application
Installez la dernière version du logiciel.
docker pull drone/drone:1
Créer une base de données pour l'application.
docker volume create drone-base
Lancer le logiciel.
docker run --name=dronegit --detach --restart=always --env-file=/etc/drone --volume=drone-base --publish=80:80 --publish=443:443 drone/drone:1
En cliquant
Accédez à votre adresse IP que vous avez spécifiée dans votre profil, vous verrez la fenêtre d'autorisation sur github.
Après autorisation, vous vérifierez l'interface du drone.
Conclusion
Il existe de nombreux produits CI et CD sur le marché qui permettent de les prendre gratuitement,
mais chacun a ses propres limites pour une utilisation commerciale.
Drone IC :
- Un plan SaaS gratuit qui n'est disponible que pour les projets open source.
- SaaS payant disponible uniquement pour les entreprises
- L'intégration est possible avec Github, Bitbucket, Gitea
- Paramétrage Yaml (+starlark, jsconnect)
- Minimaliste
- Nécessite peu de ressources pour fonctionner