Atualmente, estou em um estado em que os testes me custam dinheiro e muito tempo ...
Antecedentes: estou implantando VMs no softlayer e usando um script de pós-implantação (bash) que instalará todos os softwares que eu preciso depois que a VM estiver pronta. O problema é que eu só posso testar esse script implantando uma VM, e atualmente está demorando cerca de 4h para que o script seja concluído ... Portanto, todas as alterações que eu fizer precisam criar uma nova VM (custa dinheiro) e esperar por 4 horas para ver se o script está quebrado ou não ... Isso está se tornando caótico e não poderei avançar se continuar assim.
Preciso de uma nova maneira de abordar esse tipo de situação e poder testar o script de provisionamento mais rapidamente e sem precisar implantar uma nova VM todas as vezes.
Vocês conhecem alguma ferramenta para me ajudar nesse cenário?
fonte
Respostas:
Eu posso ver algumas opções:
Todas essas ferramentas fazem muito mais do que você precisa, mas todas elas oferecem uma maneira de realizar seu trabalho de forma incremental. Vagrant, Ansible e Docker são bem fáceis de aprender, no que me diz respeito (desde que você esteja no modo Dev / Test, as partes "interessantes" começam quando você vai para a produção). O Ansible é muito minimalista e não precisa de nada, exceto uma conexão ssh. O Vagrant e o Docker podem não ser viáveis em sua infraestrutura, você verá rapidamente.
fonte
http://www.vagrantup.com
Você pode usar o vagrant para implantar VMs no laptop local.
Você também pode verificar se é possível dividir o script em partes menores para que não demore quatro horas para testá-lo.
fonte
Se o teste local não for uma opção, a abordagem mais direta seria usar instantâneos / backups do volume do disco para sua vantagem. Isso ainda custará $$$, mas economizará tempo a longo prazo. Você deve então separar seu script bash em diferentes segmentos / scripts de trabalho que podem ser testados individualmente. Depois que seu servidor for provisionado, execute um script e tire uma captura instantânea. Se tiver sido bem-sucedido, execute o próximo script, tire uma captura instantânea, enxágue e repita. Se o seu script falhar, modifique-o, reverta para o último instantâneo bem-sucedido e tente novamente.
NOTA: Não tenho certeza se você pode tirar instantâneos de discos de máquina virtual no IBM Cloud / Softlayer, mas parece que você pode criar uma imagem de VM com bastante facilidade.
https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html
fonte