Есть ли способ заблокировать команду "vagrant up" при отсутствии некоторых файлов проекта

Я разрабатываю бродячую среду для своей команды. Одно из предположений заключается в том, что база данных должна находиться за пределами машины. Таким образом, каждый член команды должен установить свой собственный сервер MySQL на свой локальный компьютер и создать файл local.yaml (puppet) с конфигурацией базы данных. Проблема в том, что не каждый участник читает мои инструкции, и после нескольких минут сборки возникают ошибки БД (база данных не найдена и т. Д.). Я хотел бы добавить некоторую информацию, прежде чем кто-то запустит команду "vagrant up".

Вопрос: есть ли способ заблокировать vagrant, когда нет файла local.yaml?

1 ответ

Решение

Вы всегда можете иметь чек на local.yaml файл в вашем Vagrantfile, а затем raise если его не существует

Я думаю, что код будет выглядеть примерно так:

...
raise 'You need a local.yaml' unless File.exist?('local.yaml')
...
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    ...

Использование:

$ vagrant up
There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
a syntax error.

Path: /Users/<username>/<workspace>/<project>/Vagrantfile
Line number: 0
Message: RuntimeError: You need a local.yaml
Другие вопросы по тегам