Usando o Vagrant
O Vagrant é uma ferramenta de desenvolvimento que cria máquinas virtuais de vários sistemas operacionais, onde podemos instalar o que quizermos, configurar e ao final empacotar e transferir para outros computadores com grande facilidade.
Exemplo
Em casa meu sistema operacional atual é o linux Mint 18.1, que vem com o PostgreSQL 9.5. Estou precisando usar a última versão, que é a 9.6.3. Então crio uma box com o Vagrant, contendo o Ubuntu 17.04. Com a última versão do Ubuntu posso instalar o PostgreSQL 9.6.3. Após criar a box com o 17.04, instalo e configuro o PostgreSQL, o PHP 7 e outros e configuro. Após tudo pronto e testado eu empacoto e levo para minha máquina no trabalho. Chegando lá eu uso sem reinstalar ou reconfigurar nada.
Usando o Vagrant para criar um ambiente de desenvolvimento
Funciona no Linux, Windows e Mac
Instalação
Virtualbox e guest
https://www.virtualbox.org/wiki/Downloads - Virtualbox e Extension Pack
Vargant - http://vagrantup.com
git - https://git-scm.com/
Após nstalar tudo, vamos instalar uma box (pacote com um sistema operacional)
Acesse
https://www.vagrantup.com/
E clique em Find Boxes. Como exemplo vamos instalar a box Ubuntu 17.04
Crie um diretório para o varant em seu home:
mkdir vagrant
cd vagrant mkdir ub1704
Execute a linha de comando
vagrant init fso/zesty64; vagrant up --provider virtualbox
Se no Windows faça em duas etapas, executando dois comandos separados pelo ;
Ao concluir acesse a box com
varant ssh
Atualize com
sudo apt update
Sair da box com:
exit
Enviar algum arquivo para a box pelo scp:
scp -P 2222 arquivo.ext vagrant@127.0.0.1:/home/vagrant
A senha é vagrant
Acesse novamente e instale o que deseja para seu ambiente: linguagens, ferramentas, SGBDs, etc.
Parando uma box
vagrant halt
Destruindo quando não mais desejar
vagrant destroy
Empacotando para transporte
É muito confortável e eficiente transportar seu ambiente prontinho, com tudo que você usa, as versões e configurações para um destino (casa, trabalho, etc).
cd vagrant/ub1704
vagrant package --output ub1704.box
Transportar os arquivos
package.box e Vagrantfile
No destino
Criar uma pasta no home
Copiar os arquivos package.box e Vagrantfile para a pasta acima
Renomear (exemplo) package.box para ub1704.box
Mudar no Vagrantfile a linha
config.vm.box = "fso/zesty64"
Para
config.vm.box = "./ub1704.box"
Acessar e executar
vagrant up
Para atualizar após alterações no Vagrantfile
vagrant halt
vagrant up
Instalar o plugin vbguest
vagrant plugin install vagrant-vbguest
Carregar alterações
vagrant provision
Comments fornecido por CComment