Once you know how to do it, it becomes very simple but to a person that might not have all the knowledge this might look scarily complex.
I don’t say it is simple, far from it, the fact that I have to spin anything up already makes it very complicated.
I just stated my preferences – that I find one approach easier for myself than the other.
I have never used vagrant. Do you have your setup described in some post? I would love to take a look.
No, I don’t. But I use the default vagrant file for freebsd (but setting config.vm.base_mac = "080027D14C66"
but it’s freebsd-specific). For building releases for linux, it’s probably easier to use docker.
Vagrant.configure("2") do |config|
config.vm.box = "freebsd/FreeBSD-11.1-RELEASE"
config.vm.network "forwarded_port", guest: 4000, host: 4444
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
config.ssh.shell = "sh"
config.vm.base_mac = "080027D14C66" # freebsd-specific
# the rest comes from the default template
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "1024"]
vb.customize ["modifyvm", :id, "--cpus", "1"]
vb.customize ["modifyvm", :id, "--hwvirtex", "on"]
vb.customize ["modifyvm", :id, "--audio", "none"]
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
end
end
And there are several blog posts on how to build releases in docker containers. Here’re the ones that I’ve seen being mentioned on the forum: