2014-06-27 10 views
6

Czy w testowej kuchni istnieje sposób na aktualizację utworzonej instancji zamiast niszczenia i ponownego tworzenia instancji za każdym razem? Powiedz, że jeśli zmienię plik w kitchen.yml i chcę zobaczyć tę zmianę, uruchomienie całego niszczenia/utworzenia może trochę potrwać.Aktualizacja testu kuchennego zamiast tworzenia za każdym razem

+0

znalazłem kilka przydatnych informacji [tutaj] (https://github.com/test-kitchen/test-kitchen/issues/350) i [tutaj] (https://github.com/test-kitchen/kitchen- vagrant/issues/69) –

+0

'lista kucharzy', aby wymienić twoje wystąpienia, 'kuchnia zbiegła się ' gdzie jest nazwą instancji znalezionej na 'liście kuchennej'. – Andrew

Odpowiedz

4

W zależności od operatora, z którego korzystasz - tak.

Po pierwsze, istnieje kilka etapów istnienia:

  1. kitchen create - to utworzy instancję. Jest to odpowiednik vagrant up --no-provision.
  2. kitchen converge - spowoduje to zbiegnięcie się (zaopatrzenie) instancji. Jest to odpowiednik vagrant provision.
  3. kitchen verify - spowoduje to przeprowadzenie testów po integracji (takich jak ServerSpec lub nietoperze). Nie ma odpowiednika u włóczęgi.
  4. kitchen test - zawija powyższe trzy polecenia w pojedynczej sekwencji.

Testowa kuchnia nie ma pojęcia o vagrant reload, co możesz opisać na swoim przykładzie. Można jednak wykonać przeładowanie, wykonując coś w stylu:

cd .kitchen/suite_name && vagrant reload 

z wiersza poleceń.

0

Jeśli korzystasz z usługi Vagrant, wypróbuj polecenie vagrant global-status, aby uzyskać identyfikator komputera, a następnie użyj go do ponownego załadowania. coś takiego:

$ vagrant global-status 
42c66e1c default virtualbox poweroff /path/to/your/machine/kitchen-vagrant/webserver-ubuntu-1404 
1c135a2e default virtualbox running /path/to/other/machine/.kitchen/kitchen-vagrant/kitchen-machines-webserver-ubuntu-1404 
$ vagrant reload 1c135ae --provision 
0

Jak wskazano przez sethvargo można użyć kitchen create nawet jeśli instancja jest już konwergentnych i Vagrantfile zostanie odtworzony z zmianami wprowadzonymi do pliku .kitchen.yml.
Następnie można:

cd .kitchen/suite_name && vagrant reload 

a włóczęga instancja będzie odzwierciedlać te zmiany.

Należy jednak pamiętać, że w niektórych przypadkach po ponownym załadowaniu instancji numer portu ssh może ulec zmianie. W takim przypadku możesz użyć vagrant port, aby zobaczyć zmiany i naprawić plik .kitchen/name-of-your-instance.yml z tymi zmianami, aby móc bez problemu uzyskać kitchen login.

Powiązane problemy