Glusterfs Docker

Cet article présente l’installation du file system distribué glusterfs sur des serveurs ARM64 chez scaleway . L’objectif est d’y stocker les volumes docker pour qu’ils soient synchronisé entre tous les serveurs, ainsi si le swarm déplace un conteneur sur une autre machine physique, il retrouvera ses données. Cette solution est plus robuste que celle que j’utilisais avec syncthing . L’idéal serait de créer une partition XFS sur un disque dédié, cependant les ARM64v8 premier prix ne peuvent attacher plus de 50Go, le volume principal étant de 50go il faudrait passer à la gamme ARM64-4G .
3 minutes to read

Build Push Deploy

Sous ce titre, l’idée est de présenter un workflow de construction d’une image docker, sa publication et son déploiement depuis un simple git push grâce à Drone . Pour cela je vais utiliser un vieux projet en php toujours en vie : phpsysinfo Contexte Lorsqu’on souhaite utiliser Docker plusieurs étapes sont nécessaires avant d’arriver à la publication finale. Ecrire un Dockerfile Construire une image La publier sur un registre (le plus souvent le hub docker ) Ecrire un docker-compose pour l’instancier sur son serveur.
5 minutes to read

Drone 1

Cet article présente succintement la nouvelle version de Drone 1 et les changements de configuration. Pour rappel Drone est un outil d’intégration et de déploiement continu. Tout d’abord l’interface web a bien évoluée, elle est très clair et agréable. Un pipeline peut maintenant être relancé depuis l’interface et le lien view source permet de pointer vers le commit qui l’a déclenché. la syntaxe du fichier pipeline .drone.yml a changé, elle se présente maintenant sous cette forme :
2 minutes to read

Docker Multi Stage Builds

Le multi-stage builds est une fonctionnalité très intéressante présente dans Docker depuis la release 17.05. Elle permet de décrire dans un dockerfile 2 images l’une à la suite de l’autre. La première image ne sert qu’à constuire les données nécessaires à l’utilisation de la deuxième. Par exemple pour un programme en golang on aura besoin que la première image possède le compilateur go, git, et diverses bibliothèques qui permettront de générer le binaire executable.
2 minutes to read

Isso un gestionnaire de commentaire avec Hugo et Docker

Suite à cette présentation de isso ( Installation d’une alternative open-source à Disqus ) j’ai décidé de le mettre en place sur Hugo et docker swarm. J’ai pour cela créé un dockerfile de isso afin qu’il tourne sur mon infra ARM64 : https://github.com/fredix/dockerfile/tree/master/isso . Le fichier entrypoint.sh est directement pris de ce dépôt git : https://github.com/SISheogorath/isso-docker il faut ensuite le modifier afin de préciser les variables host et name. Dockerfile.arm64
3 minutes to read

déploiement continu avec drone sur ARM64

Cet article est une mise à jour du déploiement continu avec drone . Cette fois-ci l’idée est d’utiliser des serveurs en ARM64 disponible chez sacleway . J’utilise toujours une infra docker swarm comme présenté dans cet article auto-hébergement hybride mais à cause de certaines spécifités de l’ARM64 je vais repartir de zéro. Scaleway J’utilise des serveurs baremetal ARM64-2GB car pour le même prix qu’un VPS on a ici un quad core physique ce qui est bien plus efficace qu’une VM à mon sens.
12 minutes to read

un plugin drone pour telegram

Voici la suite de notre déploiement continu avec drone . Maintenant que tout fonctionne, on souhaite pouvoir lancer un git push et aller boire son café pépère pendant que drone build et déploie en production. Cependant il serait bien d’être alerté de la réussite ou pas de l’opération. Drone propose divers plugins pour cela, dont un pour Telegram . Les plugins Slack ou Hipchat sont sans doute plus connus pour informer une team via une notification, mais personnellement j’ai une préférence pour Telegram qui propose un excellent client desktop en plus des smartphones.
2 minutes to read

déploiement continu avec drone

Suite de l’article sur l’auto hébergement hybride , voici une présentation de l’outil de déploiement continu drone.io idéal pour déployer dans une infrastructure docker. Je vais prendre comme exemple de déploiement mon blog qui utilise hugo un serveur de blog statique (pas de sgbd) en Golang. Outre les avantages de go (un binaire statique, rapide, léger), il permet d’écrire ses pages au format makdown. La première partie avec un déploiement manuel puis celle automatisée avec drone.
9 minutes to read