Тест кухни, как использовать локальный vm.box

Каждый раз, когда я бегу

kitchen test

он загружает новый ящик VM. Есть ли способ заставить его повторно использовать локально загруженный ящик?

Вот мой файл.kitchen.yml.

---
driver_plugin: vagrant
driver_config:
  require_chef_omnibus: true

platforms:
  - name: ubuntu-12.04

suites:
  - name: default
    run_list:
      - recipe[my-rails-server::default]
    attributes:

Терминальный выход:

Downloading Chef  for ubuntu...       
downloading https://www.opscode.com/chef/metadata?v=&prerelease=false&p=ubuntu&pv=12.04&m=x86_64       
to file /tmp/install.sh.1121/metadata.txt       
trying wget...       
url https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
md5 21524287ed5631eb1c092ba7b589e968       
sha256  7a0a898b3682462620de80230c7a73730dde7131ca069e1d926f6faf07e4fa2f       
downloaded metadata file looks valid...       
downloading https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
to file /tmp/install.sh.1121/chef_11.10.0-1.ubuntu.12.04_amd64.deb       
trying wget...       
Checksum compare with sha256sum succeeded.       
Installing Chef        

4 ответа

Решение

Если под "загружает новую виртуальную коробку", вы имеете в виду уничтожает и создает один, да, это то, что kitchen test делает. Если вы хотите сохранить экземпляр, просто запустите

kitchen converge

Если вы имеете в виду, что Vagrant загружает новую коробку из Интернета, то это, вероятно, ошибка в Vagrant.

Test Kitchen создает собственный Vagrantfile, основанный на конфиге.kitchen.yml.

Поэтому вы должны указать свой ящик (который должен быть уже доступен для Vagrant, проверьте vagrant box list) в.kitchen.yml. В вашем примере это будет:

platforms:
- name: ubuntu-12.04
  driver:
    box: centos-6.5-x86_64-minimal

И кухня будет использовать ящик для Vagrant, не загружая его.

Вы также можете указать другие параметры Vagrant, например,

- name: centos-vagrant
  driver:
    provider: parallels
    box: centos-6.5-x86_64-minimal
    customize:
      memsize: 1024
      cpus: 2

Вы можете увидеть больше примеров, например. в моем Vagrant поваренные книги lemp-сервер или или ням Opscode.

Используйте следующую команду

exec kitchen converge ubuntu

сходится будет регулярное выражение экземпляров

Используйте следующее определение в вашем kitchen.yml, чтобы отключить обновления окна

platforms:
  - name: centos-7
    driver:
      box: bento/centos-7
      box_check_update: false

где коробка - это локально доступная бродячая коробка на вашем хосте. Выполните следующую команду, чтобы получить список доступных ящиков:

$ vagrant box list
bento/centos-6.7           (virtualbox, 2.2.7)
bento/centos-7             (virtualbox, 201808.24.0)
Другие вопросы по тегам