Last active
August 29, 2015 14:16
-
-
Save Uburwator/2515478673aa0d056fd5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Несколько первых строк - стандартные заголовки, необходимые для функционирования файла. Они оставлены неизменными. | |
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | |
VAGRANTFILE_API_VERSION = "2" | |
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
# Далее следует изменение параметров серии config.vm, которые затрагивают непосредственно поднимаемую машину. | |
# Какой мы будем использовать бокс | |
config.vm.box = "Win2012R2x64" | |
# Семейство операционных систем, в нашем случае просто windows | |
config.vm.guest = :windows | |
# Указываем, под каким именем Vagrant будет у себя учитывать эту машину. Это не влияет ни на имя хоста, ни на то, как он будет называться в Hyper-V. Если опустить - будет назначено имя “default”. | |
config.vm.define :godnota | |
# Как мы будем взаимодействовать с ОС. Традиционно используется SSH, но сейчас стало возможно использовать нативные средства - WinRM | |
config.vm.communicator = "winrm" | |
# Здесь указывается тип провижионинга. В будущем здесь засияет Chef, но для первоначальной настройки и примера вполне достаточно обойтись простым скриптом. Предполагается, что скрипт лежит в той же папке, где и сам Vagrantfile. Возможно указать и удалённый путь, как на веб-сервере, так и на расшаренном ресурсе - не забывайте только дублировать слеши (например, \\\\server\\DevOps\\Vagrant\\provision.ps1), иначе Руби поймёт их неправильно. | |
config.vm.provision "shell", path: "provision.ps1" | |
# Параметр, определяющий, сколько секунд Vagrant будет дожидаться полной загрузки виртуалки. Поскольку у нас не линукс, то советую поставить значение минут в 5, тем более мы предварительно прошлись sysprep, так что первая загрузка длится сильно дольше последующих | |
config.vm.boot_timeout = 300 | |
# Сколько секунд ждать, прежде чем машина выключиться, получив соответствующий сигнал | |
config.vm.graceful_halt_timeout = 180 | |
# Vagrant умеет синхронизовать (на самом деле монтировать по SMB) каталог на гипервизоре внутрь виртуальной машины. Фича полезная и по умолчанию включённая, однако в текущей версии для гостевых ОС Windows без специальных шаманств неработающая (для Ubuntu hashicorp/precise64 всё проходит гладко), поэтому во избежание ошибки приходится её отключать | |
config.vm.synced_folder ".", "/vagrant", disabled: true | |
# Далее ковыряем настройки Hyper-V. Советую увеличить это значение, иначе вагрант может не успеть определить адрес и, соответственно, не сможет сделать провижионинг. | |
config.vm.provider "hyperv" do |hv| | |
hv.ip_address_timeout = 300 | |
end | |
# Последние штрихи - указываем учётные данные, которые будут использоваться для доступа. Обычно это локальный администратор, пароль указывается в открытом виде (всё равно потом лучше его поменять). | |
config.winrm.username = "Administrator" | |
config.winrm.password = "P@$$word" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment