Actuellement, je suis dans un état où les tests me coûtent de l'argent et beaucoup de temps ...
Contexte: je déploie des machines virtuelles sur la couche logicielle et j'utilise un script de post-déploiement (bash) qui installera tous les logiciels dont j'ai besoin une fois la machine virtuelle prête. Le problème est que je ne peux tester ce script qu'en déployant une machine virtuelle, et il faut actuellement environ 4 heures pour que le script se termine ... Donc, chaque modification que j'apporte doit créer une nouvelle machine virtuelle (coûte de l'argent) et attendre environ 4 heures pour voir si le script est cassé ou non ... Cela devient chaotique et je ne pourrai pas avancer si je reste comme ça.
J'ai besoin d'une nouvelle façon d'aborder ce type de situation et de pouvoir tester le script de provisioning plus rapidement et sans avoir à déployer une nouvelle VM à chaque fois.
Connaissez-vous un outil pour m'aider dans ce scénario?
la source
Réponses:
Je peux voir quelques options:
Tous ces outils font bien plus que ce dont vous avez besoin, mais tous vous donnent un moyen de faire votre travail progressivement. Vagrant, Ansible et Docker sont assez faciles à apprendre pour moi (tant que vous êtes en mode Dev / Test, les parties "intéressantes" commencent lorsque vous passez en production). Ansible est très minimaliste et n'a besoin que d'une connexion ssh. Vagrant et Docker pourraient ne pas être réalisables dans votre infrastructure, vous le verrez rapidement.
la source
http://www.vagrantup.com
Vous pouvez utiliser vagrant pour déployer des machines virtuelles sur l'ordinateur portable local.
Vous pouvez également vérifier s'il est possible de diviser le script en parties plus petites afin qu'il ne prenne pas quatre heures pour le tester.
la source
Si le test local n'est pas une option, alors l'approche la plus simple serait d'utiliser les instantanés / sauvegardes de volume de disque à votre avantage. Ceux-ci coûteront toujours $$$, mais vous feront gagner du temps à long terme. Vous devez ensuite séparer votre script bash en différents segments / scripts de travail qui peuvent être testés individuellement. Une fois votre serveur provisionné, exécutez un script, puis prenez un instantané. S'il a réussi, exécutez le script suivant, prenez un instantané, puis rincez et répétez. Si votre script échoue, modifiez-le, revenez au dernier instantané réussi, puis réessayez.
REMARQUE: je ne sais pas si vous pouvez prendre des instantanés de disques de machine virtuelle dans IBM Cloud / Softlayer, mais il semble que vous puissiez créer une image de machine virtuelle assez facilement.
https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html
la source