Dans le cadre de l'intégration continue (CI) ou juste par souci de simplicité, il nous est souvent demandé d'automatiser au maximum la création de machines virtuelles ou de conteneurs. De nombreux outils existent, mais comment les mettre en œuvre tous ensemble ? C'est une réponse possible que nous allons détailler ici.
Contexte
Voulant automatiser entièrement la création de machines virtuelles pour ses développeurs, mon client avait des besoins très particuliers. En effet, il travaille sur l'ajout du protocole NBIoT au logiciel Open Air Interface (OAI pour les intimes) et il a certaines contraintes :
- Ubuntu 16.04 ;
- Kernel low latency < 4.15 ;
- Possibilité de nettoyage complet de la VM, car OAI nécessite de nombreuses librairies externes et passer d'une branche d'OAI à une autre nécessite de supprimer toutes les dépendances, y compris celles installées « à la main » par l'installateur ;
- Intégration dans la chaîne d'intégration continue existante basée sur Vagrant ;
- Installation « full unattended » pour une utilisation immédiate.
1. Outils utilisés
Afin de pouvoir générer facilement une image Vagrant, un outil s'impose assez naturellement, j'ai nommé Packer. Ce dernier fait partie de la série de logiciels à destination des DevOps éditée par...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première