Vous avez un projet qui a des exigences de logiciel à exécuter (par exemple: une version spécifique d'Apache, une version de PHP, une instance d'une base de données MySQL et quelques autres logiciels).
Vous avez déjà découvert Vagrant , votre environnement virtuel est donc entièrement configuré. Vous pouvez créer des boîtes à partir de vos fichiers de configuration et livres de recettes.
Vous avez également compris les avantages d'un système d'intégration continue tel que Jenkins .
Vous souhaitez maintenant combiner ces deux mondes (Vagrant et Jenkins) pour obtenir l'environnement d'intégration continue parfait. Pour être plus précis, vous ne souhaitez pas installer le logiciel requis par votre projet sur la machine exécutant Jenkins, mais vous souhaitez utiliser l'environnement virtuel fourni par Vagrant pour construire périodiquement votre projet par-dessus. Le logiciel CI (Jenkins) construira la boîte Vagrant pour vous et construira et testera votre projet par-dessus.
Comment configureriez-vous votre environnement pour y parvenir?
la source
Réponses:
c'est une bonne solution pour le système de construction, ma suggestion:
Vous pouvez probablement jeter un œil à veewee , qui peut créer une boîte de vagabonds à la volée.
Voici le Rendre CI plus facile avec Jenkins CI et Vagrant pour mon guide pour cette suggestion.
la source
Vous pouvez essayer le plugin Vagrant pour Jenkins qui prend actuellement en charge Jenkins CD 1.532.3
Vous pouvez voir une démo de ce plugin en cours d'exécution sur http://unethicalblogger.com/2012/03/13/vagrant-plugin-in-action.html
la source
Personnellement, je suggérerais d'utiliser Hashicorp Packer pour créer vos boîtes Vagrant pour les développeurs, puis de l'utiliser pour générer également une image Docker ou AWS ou OpenStack que vous pouvez exécuter sur votre système CI. Vagrant est un outil génial, mais la surcharge des machines virtuelles peut être un peu élevée pour qu'un système CI les fasse constamment tourner de haut en bas, surtout si vous voulez un retour très rapide.
Chez un ancien client, nous avons essentiellement démarré les machines Vagrant une fois avec le système, puis exécuté des builds Docker / virtualenv à l'intérieur de ces machines virtuelles et nous les détruisions périodiquement lorsqu'il y avait une mise à niveau majeure ou un problème avec l'environnement ne se comportant pas correctement.
https://www.packer.io/docs/builders/openstack.html
la source