Skip to content

Feat an extremly simple build

Arthur Dewarumez requested to merge feat-an_extremly_simple_build into develop

Comme je n'ai pas eu le temps de proposer des améliorations à la mr !107 (merged), je le fais à travers cette mr.

Contrairement à la mr !107 (merged) et !111 (closed), je limite au maximum la quantité de code à maintenir.

En effet, pour builder les images docker, je n'ai pas besoin de passer par un script externe. Il suffit de définir la variable DOCKERFILE dans le Makefile du sous-projet pour que ce fichier soit utilisé.

Je n'ai pas besoin de passer par un Dockerfile complémentaire pour faire une release construite indépendamment du système. J'utilise les Dockerfile déjà utilisé et je me contente d'un docker cp pour rapatrier les binaires sur l'hôte.

Je n'utilise plus les images docker golang alpine, car il faut installer make, git et d'autre outils de base. Je trouve que cela est trop contraignant pour gagner juste quelques mégaoctets. De plus, on était pas sûr d'utiliser la même version à chaque fois, donc on ne contrôle pas totalement notre build

J'offre aussi la possibilité d'avoir un build complétement déconnecté du système hôte en forçant la réinstallation du vendoring et en forçant la version de go utilisé pour le build. La construction des release est faite en sorte qu'un build ne puisse pas impacter les autres étapes du build. Tout cela permet d'avoir un build reproductible.

De plus, l'option NO_GO utilisé dans les build docker permet de compiler les binaires sans avoir besoin d'installer l'environnement de développement avec toutes les librairies, cloner le repo suffit. Tout en laissant la possibilité d'utiliser ou non cette fonctionnalité.

Il y a encore un peu de travail à faire comme supprimer quelques variables en trop et mettre à jour l'aide du makefile principale. Mais cela ne rentrait pas dans le remarques que j'avais sur la mr !107 (merged).

Edited by dwatteau

Merge request reports