VM sağlama komut dosyası sağlamadan nasıl test edilir


10

Şu anda test etmenin bana para ve çok zaman harcadığı bir durumdayım ...

Arka plan: VM'leri softlayer'a dağıtıyorum ve VM hazır olduktan sonra ihtiyacım olan her yazılımı yükleyecek bir dağıtım sonrası komut dosyası (bash) kullanıyorum. Sorun şu ki, sadece bir sanal makine dağıtarak bu komut dosyasını test edebilirim ve şu anda komut dosyasının tamamlanması yaklaşık 4 saat sürüyor ... Yani yaptığım her değişiklik yeni bir sanal makine (maliyet maliyeti) oluşturup beklemek zorunda kalıyorum Senaryonun kırılıp kırılmadığını görmek için 4 saat ... Bu kaotik hale geliyor ve bu şekilde kalırsam ilerleyemeyeceğim.

Bu tür bir duruma yaklaşmak ve sağlama komut dosyasını daha hızlı ve her seferinde yeni bir VM dağıtmaya gerek kalmadan test edebilmek için yeni bir yola ihtiyacım var.

Bu senaryoda bana yardımcı olacak bazı araçlar biliyor musunuz?


4
Temel hazırlık (bash) komut dosyanızı yerel bir geliştirici VM üzerinde yerel olarak çalıştırarak test etmek mümkün değil mi?
Rekovni

3
Burası özel bir bulutun parlayacağı bir yer. Bir tane satın almak ve kurmak, şu anda yapmakta olduğunuzdan daha ucuza mal olabilir. Sayıları çalıştırın. Sizin için neyin anlamlı olduğunu görün.
civcivler

Yanıtlar:


10

Bazı seçenekleri görebiliyorum:

  • VM'lerinizi oluşturmak için Vagrant kullanın; VM (temel işletim sistemi dahil) oluşturma işlemini ve gerçek provizyonu ayırır. Ayrıca, yalnızca belirli durumlarda belirli hazırlık adımlarını yürütmek için bazı seçenekleri vardır.
  • Ansible, Kukla veya bunun gibi bir şeyi, her seferinde aynı şeyleri yapmadığınız, ancak sadece gerekli olan bir hazırlık moduna geçmek için kullanın. Bu, işi başlatabileceğiniz ve ilk başarısız olan kısımda durabileceğiniz anlamına gelir. Bu parçayı düzeltin, sonra devam edin.
  • Docker'ı kullanın. Bu, Vagrant / Ansible yaklaşımından biraz farklıdır, çünkü konteynerleri (aslında ihtiyacım olmayan, söyleyebildiğim kadarıyla) oluşturur. Ansible yaklaşımının ötesinde, size çok ince taneli adım adım bir geliştirme süreci sunma avantajı vardır. Yani, bir adım başarısız olursa, yine de buna yol açan tüm görüntülere sahipsiniz, bu yüzden geliştirme sırasında, biraz disiplinle, gerçekten çok, çok hızlı hale gelirsiniz.

Tüm bu araçlar ihtiyacınız olandan çok daha fazlasını yapar, ancak hepsi size işinizi aşamalı olarak yapmanın bir yolunu sunar. Vagrant, Ansible ve Docker'ın ilgilendiğim kadarıyla öğrenmesi oldukça kolaydır (Geliştirme / Test modunda olduğunuz sürece, üretime gittiğinizde "ilginç" parçalar başlar). Ansible çok minimalisttir ve ssh bağlantısı dışında hiçbir şeye ihtiyaç duymaz. Vagrant ve Docker altyapınızda mümkün olmayabilir, hızlı bir şekilde göreceksiniz.


6

http://www.vagrantup.com

VM'leri yerel dizüstü bilgisayara dağıtmak için vagrant kullanabilirsiniz.

Ayrıca, komut dosyasının daha küçük parçalara bölünmesinin mümkün olup olmadığını kontrol edebilirsiniz, böylece test edilmesi dört saat sürmez.


5

Yerel olarak test etmek bir seçenek değilse, en basit yaklaşım, disk birimi anlık görüntülerini / yedeklerini avantajınıza kullanmak olacaktır. Bunlar hala $ $$$, ancak uzun vadede size zaman kazandıracak. Daha sonra bash betiğinizi ayrı ayrı test edilebilen farklı çalışma segmentlerine / komut dosyalarına ayırmalısınız. Sunucunuz hazırlandıktan sonra bir komut dosyası çalıştırın ve ardından anlık görüntü alın. Başarılı olursa, sonraki komut dosyasını çalıştırın, anlık görüntü alın, sonra durulayın ve tekrarlayın. Komut dosyanız başarısız olursa, komut dosyasını değiştirin, son başarılı anlık görüntüye geri dönün ve tekrar deneyin.

NOT: IBM Cloud / Softlayer'da sanal makine disklerinin anlık görüntülerini alıp alamayacağınızdan emin değilim, ancak kolayca bir VM görüntüsü oluşturabileceğiniz gibi görünüyor.

Sanal makine görüntülerini yedekleme

Örneğin bir sanal makine görüntüsünü yedekleyebilirsiniz. Bu işlev, daha sonra geri yüklenebilecek sanal makine görüntüsünün ve bulut yapılandırmasının bir kopyasını oluşturur. Ayrıca, bu yedek görüntüleri yönetebilirsiniz. Yedek resim ile ilgili detaylar aşağıdaki gibidir:

Yedek resim, sanal makine görüntüsünün ve bulut yapılandırmasının tam bir kopyasıdır. Görüntü temizleme yapılmaz.

  • Yedek resim yeni bir örnek olarak dağıtılamaz. Yalnızca ilişkili sanal makine görüntüsünü ve bulut yapılandırmasını geri yüklemek için kullanılabilir.

  • Yalnızca proje sahibi (veya bir yönetici) yedek sanal makine görüntülerini ve yedek sanal makineyi geri yükleme erişimine sahiptir.

  • OpenStack bulut kullanıyorsanız, aynı anda yalnızca bir örnek yedekleme işlemine izin verilir. Başka bir kullanıcı yedekleme çalıştırıyorsa ve aynı örnekte bir tane başlatıyorsanız, çakışan bir istek olduğunu bildiren bir hata alırsınız. Yedekleme yapmak için, diğer yedeklemenin bitmesini beklemeniz gerekir.

  • OpenStack PowerVM® ve z / VM® örnekleri bu eylemi desteklemez.

  • Örnek, OpenStack ile IBM® Cloud Manager kullanılarak silinirse, ilişkili yedeklemeler de silinir.

https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.