make-файл передает переменную в vagrantfile и запускает vagrant VM - PullRequest
0 голосов
/ 28 сентября 2019

Я пишу план автоматического развертывания проекта.Я планирую использовать makefile для управления vagrant vm и его операциями.Я хочу поместить все конфигурации пользовательских опций в make-файл, включая некоторые параметры конфигурации vagrantfile, такие как CPU, IP и тому подобное.Но как передать параметры make-файла в vagrantfile?Я тестирую, чтобы использовать shell

CPU_NUM ?= 3

init:
    vagrant_cpu= $(CPU_NUM ) vagrant up

Но я не знал vagrantfile, как его получить

Я был бы очень признателен, если бы вы, ребята, могли сказать мне, как этого добиться, что параметры передаютсяиз make-файла в vagrantfile

1 Ответ

1 голос
/ 28 сентября 2019

Makefile - это хорошо, но почему бы просто не использовать сценарии оболочки для сценариев общего назначения?Но, чтобы ответить на ваш вопрос:

Команда, в которой вы задали переменную среды, неверна, у = не должно быть пробелов с обеих сторон.Измените его на:

init:
    vagrant_cpu=$(CPU_NUM) vagrant up

A Vagrantfile - это просто скрипт Ruby .Это означает, что вы можете обращаться к переменным окружения так же, как и в Ruby, используя ENV.В вашем Vagrantfile вы можете получить что-то вроде:

config.vm.provider "virtualbox" do |v|
  v.memory = 1024
  v.cpus = ENV["vagrant_cpu"].to_i
end

Примечание to_i для преобразования в целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...