Uno dei primi scogli che si incontrano lavorando in un team di sviluppo è proprio quello di riuscire a tenere aggiornato il codice tra tutti i membri del team.
In questa prima puntata, come già anticipato nel titolo, andremo a creare un’ambiente di sviluppo condiviso utilizzando Lando per WordPress. Quest’ultimo risulterà poi facilmente replicabile e clonabile facilmente da chiunque poi in un futuro dovrà lavorarci.
Fino a non pochi anni fa per emulare un sito web su un computer, a seconda del sistema operativo, venivano utilizzati diversi metodi come Xamp su Windows e localhost su Linux e Mac, ma questo comportava non pochi svantaggi ai Team di sviluppo.
Grazie a Lando e Docker andremo a creare un ambiente di sviluppo comune in cui andremo a definire tutte le informazioni necessarie a far funzionare il nostro progetto.
Installare WordPress con docker usando lando
Se non lo avete già fatto precedentemente bisognerà installare Lando e Docker… per farlo potete tranquillamente seguire questa guida qui.
Il primo passo da effettuare è quello di creare sul nostro computer una cartella con il nome del progetto ed al suo interno andremo ad aggiungere un file .lando.yml.
Questo file non è altro che una ricetta contenente tutte le informazioni necessarie per installare Lando, come per esempio la versione di PHP, i collegamenti al database, il recipiente e via dicendo.
Spieghiamo tutto dettagliatamente nel video sul nostro canale Youtube che potete trovare alla fine di questo articolo.
Il secondo passo consiste nel digitare nella console del progetto il comando
lando start
A questo punto la nostra applicazione avvierà il contenitore Docker e tutti i servizi necessari.
Il terzo passo consiste nell’installare ciò che siamo andati a definire come ricetta nel file di configurazione di Lando, come esempio utilizzeremo WordPress che è il più comunemente utilizzato. A questo punto andiamo a digitare sulla nostra console di progetto il comando
lando wp core download
subito dopo averlo lanciato, verranno scaricati ed installati tutti i file necessari per il corretto funzionamento di WordPress.
Nel quarto passo bisognerà andare a copiare semplicemente il file wp-config-sample.php, rinominarlo in wp.config.php, aprirlo ed andare a sostituire i valori per l’accesso al database che siamo andati a specificare nel file .lando.yml all’inizio dell’installazione.
A questo punto se noi apriremo il link di accesso al nostro sito web, che ci vengono mostrati in console dopo aver eseguito il comando “lando start” nel nostro progetto, vedremo la schermata iniziale di WordPress.
Ora potremmo iniziare a lavorarci e a condividere il codice con tutto il team senza la preoccupazione di eventuali errori dovuti ad incongruenze nel codice e versioni differenti.
Esempio di ricetta docker (lando) per WordPress
name: esempiowordpress recipe: wordpress config: via: nginx database: mariadb xdebug: true webroot: . proxy: appserver_nginx: - esempiowordpress.lndo.site mailhog: - mailhog.lndo.site domain: lndo.site services: appserver: via: nginx type: 'php:7.4' node: type: 'node:10.14.2' build: - npm install database: type: 'mariadb:10.3' portforward: 3307 creds: user: username password: password database: esempiowordpress mailhog: type: mailhog hogfrom: - appserver portforward: true phpmyAdmin: type: 'phpmyadmin:5.0' hosts: - database.esempiowordpress.internal mariadb103: type: 'mariadb:10.3' tooling: npm: service: node node: service: node gulp: service: node yarn: service: node
Esempio di ricetta docker (lando) per Laravel
name: esempiolaravel recipe: laravel config: php: "7.3" via: apache:2.4 database: mysql mailhog: - mailhog.lndo.site domain: lndo.site services: appserver: webroot: public xdebug: true node: type: node:12.14.0 build: - npm install database: type: mysql:8.0 portforward: 3307 creds: user: username password: password database: esempiolaravel mailhog: type: mailhog hogfrom: - appserver portforward: true phpmyAdmin: type: phpmyadmin:5.0 hosts: - database.esempiolaravel.internal mysql8: type: mysql:8.0 tooling: npm: service: node node: service: node
Comandi utili
- lando start -> avvia l’applicazione;
- lando stop -> arresta l’applicazione, ma funziona solamente se con il terminale siamo all’interno della cartella del progetto (non necessariamente la root, visto che il comando va a controllare anche fino a 4 cartelle precedenti quella dove ci troviamo).
- lando poweroff -> arresta completamente Lando e funziona da qualsiasi cartella e posizione;
- lando rebuild -y -> bisogna utilizzarlo nel caso in cui andremo a modificare qualche parametro del .lando.yml file
- lando db-import NOME-DATABASE.gz -> importa il database con estensione gz
- lando db-export -> esporta il database del progetto