補足
- drupalvmをベースに手順化しています。
- MacOSXではdrupalvmは動くのですがWindowsですとansibleのcomposer buildから先に進まない問題の為の暫定対処として残しています。
- つまりMacOSでbuildしたBoxをwindowsにimoortする手順となります。
Export
- Vagrantfileのあるディレクトリに移動
- Export
vagrant package --output {{output file}}
- package.boxが作成される。
- USB MemoryなどにCopy
- drupal.vm.localというフォルダを作成
- config.ymlとVagrantfileとpackage.box.zipをCopy
- USB memoryの中でzip化
zip -r drupal.vm.local.zip *
Import
Preparation
- 移行先でもdurpalvmをgit cloneしておき、同じ物を用意しておく。
- 移行先で上記zipをVagrantfileのあるディレクトリで解凍。
- config.ymlとvagrantfileをは上書き
- package.boxは追加となります。
Add box
vagrant destroy
vagrant box remove [VAGRANT MACHINE NAME]
vagrant box add --debug [VAGRANT MACHINE NAME] ./package.box
- [BOX_NAME]はconfig.ymlの”vagrant_machine_name”に置き換えて実行して下さい。
vagrant box list
vagrant init drupalvm
vagrant up --debug
やり直しの場合
- もしImportやupが途中で止まった場合は以下のようにBoxのDestroyと.vagrantも削除すればやり直せます。
vagrant destroy
rm -r .vagrant
rm -r ~/.vagrant.d
- vagrant_machine_name=BOX NAMEはオリジナルと同じにしておくと良いかもしれません。
- テストしたversion
Example Vagrantfile
vagrant plugin install vagrant-multiplug
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure('2') do |config|
# Set the name of the VM. See: http://stackoverflow.com/a/17864388/100134
config.vm.define "drupalvm"
# Networking configuration.
config.vm.box = "drupalvm"
config.vm.network :"private_network", ip: "198.168.88.88", auto_network: false
config.vm.hostname = "drupal.vm.local"
config.hostsupdater.aliases = [
"drupal.vm.local",
"www.drupal.vm.local",
]
config.vm.network "forwarded_port", guest: 80, host: 30000
config.vm.network "forwarded_port", guest: 9200, host: 9200
config.vm.network "forwarded_port", host: 1080, guest: 1080
config.plugin.add_dependency "vagrant-vbguest"
config.vm.provider "virtualbox" do |vb|
vb.memory = 2048
vb.customize ["modifyvm", :id, "--cpuexecutioncap", 80]
end
# Synced folders.
options = {
type: "nfs",
rsync__exclude: "",
rsync__args: ['--verbose', '--archive', '--delete', '-z', '--copy-links', '--chmod=ugo=rwX'],
id: 1,
create: true,
mount_options: [],
nfs_udp: false
}
config.vm.synced_folder ".", "/var/www/drupalvm", options
end
参考サイト