Quantcast
Channel: Nicolò Pignatelli
Viewing all articles
Browse latest Browse all 10

Symfony 2 e Vagrant, “ma sul mio pc funziona” non è più una scusa

$
0
0

Dopo il tutorial di Nicolò per la configurazione di Symfony 2 su Ubuntu, eccovene uno su Vagrant, un software libero sviluppato in Ruby che permette di creare e gestire macchine virtuali per lo sviluppo a partire da file di configurazione; utilizzando VirtualBox (o VMware Fusion, con un plugin a pagamento), infatti, esso è in grado di creare e configurare macchine virtuali a partire da immagini pronte dette boxes.

Dal sito http://www.vagrantbox.es/ è possibile scegliere la box che più s’addice alle proprie esigenze progettuali. La più utilizzata è precise32 ovvero l’ultima Ubuntu LTS (12.04) che sarà la box di riferimento per questo articolo.

Perché Vagrant

Utilizzare Vagrant permette di fornire a tutti gli sviluppatori del team una macchina virtuale con la configurazione sempre allineata, in quanto creata a partire da file che sono sotto controllo di versione assieme al progetto che state sviluppando. Gli stessi file possono essere utilizzati anche per il server di produzione, grantendo quindi un perfetto allineamento tra i due ambienti.

Installazione su Ubuntu

Per continuità col post precedente vi illustrerò come configurare Ubuntu; andremo ora a vedere come aggiungere il repository Oracle, installare Vagrant e il plugin per le guest additions.

Repository Oracle per VirtualBox (opzionale)

Se volete installare l’ultima versione di VirtualBox su ubuntu potete utilizzare i repository di Oracle, mediante tre semplici passi:

  1. echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -sc` contrib | sudo tee /etc/apt/sources.list.d/virtualbox.list
  2. wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
  3. sudo apt-get update
  4. sudo apt-get install virtualbox-4.2

Se non volete utilizzare il repository di Oracle eseguite solamente il comando sudo apt-get install virtualbox

Il pacchetto vagrant

L’unico modo per ottenere il pacchetto vagrant aggiornato è scaricarlo all’indirizzo http://downloads.vagrantup.com/.
Prima di ciò controllate di avere installato il pacchetto ruby, per installarlo sudo apt-get install ruby1.9.1

Il plugin vagrant-vbguest

Per mantenere allineate le guest addition con la vostra versione di VirtualBox è consigliato l’utilizzo del plugin vagrant-vbguest, per installarlo digitare: vagrant plugin install vagrant-vbguest

Il Vagrantfile

Il vagrant file è il descrittore della macchina virtuale e serve a configurare caratteristiche come rete, ram, ecc…

All’indirizzo https://gist.github.com/dbellettini/5332152#file-vagrantfile trovate un esempio di Vagrantfile pensato per un progetto Symfony. Il file deve essere salvato nella sottodirectory vagrant del vostro progetto.

Chef e Puppet

Per la configurazione della macchina, potete scegliere tra Chef e Puppet, entrambi hanno i loro pro e i loro contro. Se volete pubblicare il vostro progetto su Amazon scegliete Chef, se volete usare OpenStack o VMware allora optate per Puppet.

In questo articolo vi illustrerò come utilizzare Puppet, se volete approfondire Chef date un’occhiata alla sandbox di Symfony CMF https://github.com/symfony-cmf/cmf-sandbox/tree/master/vagrant

Installare i moduli con librarian-puppet

Librarian puppet è un sistema che permette l’installazione di moduli puppet sia dai repository ufficiali di puppet (detti “forge”) sia da repository (es. GitHub).

Creare il file vagrant/scripts/init.sh https://gist.github.com/dbellettini/5332152#file-init-sh

Creare il file vagrant/puppet/Puppetfile https://gist.github.com/dbellettini/5332152#file-puppetfile

I manifest

Perché puppet possa funzionare occorre definire un manifest, chiameremo il file vagrant/puppet/manifests/esempio.pp  https://gist.github.com/dbellettini/5332152#file-esempio-pp

Far partire la vostra macchina

Ora non vi resta che avviare la vostra macchina virtuale, dalla directory vagrant scrivendo vagrant up e incrociando le dita!

L’esperienza insegna che non sempre va tutto liscio al primo giro, però piano piano potrete affinare i file di configurazione in modo da fare andare tutto alla perfezione :)

Se tutto va bene potete accedere alla console della macchina virtuale con vagrant ssh e iniziare a lavorare. Buono sviluppo!


Viewing all articles
Browse latest Browse all 10

Trending Articles