Derzeit bin ich in einem Zustand, in dem das Testen mich Geld und viel Zeit kostet ...
Hintergrund: Ich stelle VMs auf Softlayer bereit und verwende ein Post-Deployment-Skript (Bash), mit dem jede Software installiert wird, die ich benötige, nachdem die VM bereit ist. Das Problem ist, dass ich dieses Skript nur testen kann, indem ich eine VM bereitstelle. Derzeit dauert es ungefähr 4 Stunden, bis das Skript fertig ist. Bei jeder Änderung, die ich vornehme, muss ich eine neue VM erstellen (kostet Geld) und warten 4 Stunden, um zu sehen, ob das Skript kaputt ist oder nicht ... Das wird chaotisch und ich kann nicht weitermachen, wenn ich so bleibe.
Ich brauche einen neuen Weg, um diese Art von Situation anzugehen und das Bereitstellungsskript schneller testen zu können, ohne jedes Mal eine neue VM bereitstellen zu müssen.
Kennt ihr ein Tool, das mir in diesem Szenario hilft?
quelle
Antworten:
Ich kann einige Optionen sehen:
Alle diese Tools leisten viel mehr als Sie benötigen, aber alle bieten Ihnen die Möglichkeit, Ihre Arbeit schrittweise zu erledigen. Vagrant, Ansible und Docker sind für mich ziemlich einfach zu erlernen (solange Sie sich im Dev / Test-Modus befinden, beginnen die "interessanten" Teile, wenn Sie zur Produktion gehen). Ansible ist sehr minimalistisch und benötigt nichts außer einer SSH-Verbindung. Vagrant und Docker sind in Ihrer Infrastruktur möglicherweise nicht realisierbar, wie Sie schnell sehen werden.
quelle
http://www.vagrantup.com
Sie können vagrant verwenden, um VMs auf dem lokalen Laptop bereitzustellen.
Sie können auch prüfen, ob es möglich ist, das Skript in kleinere Teile aufzuteilen, sodass das Testen nicht vier Stunden dauert.
quelle
Wenn lokales Testen keine Option ist, besteht der einfachste Ansatz darin, Snapshots / Backups zum Festplattenvolumen zu Ihrem Vorteil zu verwenden. Diese kosten immer noch $$$, sparen Ihnen aber auf lange Sicht Zeit. Sie sollten dann Ihr Bash-Skript in verschiedene Arbeitssegmente / Skripte aufteilen, die einzeln getestet werden können. Führen Sie nach der Bereitstellung Ihres Servers ein Skript aus und erstellen Sie einen Snapshot. Wenn es erfolgreich war, führen Sie das nächste Skript aus, machen Sie einen Schnappschuss, spülen Sie ihn aus und wiederholen Sie ihn. Wenn Ihr Skript fehlschlägt, ändern Sie das Skript, kehren Sie zum letzten erfolgreichen Snapshot zurück und versuchen Sie es erneut.
ANMERKUNG: Ich bin nicht sicher, ob Sie Snapshots von Festplatten virtueller Maschinen in IBM Cloud / Softlayer erstellen können, aber es sieht so aus, als könnten Sie ganz einfach ein VM-Image erstellen.
https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html
quelle