2014-06-27 12 views
6

In test-kitchen, c'è un modo per aggiornare l'istanza creata invece di distruggere e ricreare l'istanza ogni volta? Dire se cambio in kitchen.yml e voglio vedere quel cambiamento, eseguire l'intero destroy/create può richiedere del tempo.aggiornamento test-kitchen invece di creare ogni volta

+0

trovato alcune informazioni utili [qui] (https://github.com/test-kitchen/test-kitchen/issues/350) e [qui] (https://github.com/test-kitchen/kitchen- vagrant/issues/69) –

+0

'kitchen list' per elencare le istanze, 'cucina converge ' dove è il nome dell'istanza trovata in 'lista cucina'. – Andrew

risposta

4

A seconda del provider che si sta utilizzando - sì.

In primo luogo, ci sono alcuni passaggi del ciclo di vita:

  1. kitchen create - questo creerà l'istanza. È l'equivalente di vagrant up --no-provision.
  2. kitchen converge - questo convergerà (provisioning) l'istanza. È l'equivalente di vagrant provision.
  3. kitchen verify - questo eseguirà qualsiasi test post-integrazione (come ServerSpec o pipistrelli). Non c'è equivalente in vagabondo.
  4. kitchen test - avvolge i tre comandi precedenti in una singola sequenza.

Test Cucina non ha una nozione di vagrant reload, che è ciò che sembra descrivere dal tuo esempio. Tuttavia, è possibile eseguire una ricarica facendo qualcosa come:

cd .kitchen/suite_name && vagrant reload 

dalla riga di comando.

0

Se si utilizza Vagrant, provare il comando vagrant global-status per ottenere l'id della macchina, quindi utilizzarlo per ricaricare. Qualcosa di simile a questo:

$ 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

Come sottolineato da sethvargo è possibile utilizzare kitchen create anche se l'istanza è già convergenti e la Vagrantfile sarebbe ricreato con le modifiche apportate al file .kitchen.yml.
Quindi è possibile:

cd .kitchen/suite_name && vagrant reload 

e l'istanza vagabondo sarebbe riflettere tali cambiamenti.

Tuttavia, in alcuni casi, quando si ricarica l'istanza, il numero della porta ssh potrebbe cambiare. In questo caso è possibile utilizzare vagrant port per visualizzare le modifiche e correggere il file .kitchen/name-of-your-instance.yml con tali modifiche in modo che sia possibile effettuare kitchen login senza problemi.

Problemi correlati