Il mio Makefile - I
Sviluppando in ambiente Linux, di solito per i miei progetti utilizzo dei Makefile che regolano una serie di processi automatici, come la compilazione, la messa in esercizio, il test, la generazione di file derivati etc.
Ad esempio, per un'applicazione web il comando make deploy scatena l'eventuale compilazione, la generazione di un pacchetto in formato deb o tgz, il trasferimento e l'installazione sul server, che di solito richiede un restart di Apache.
Di solito effettuo commit molto frequenti dei miei progetti, ma solo occasionalmente faccio un deploy. E a volte si pone il problema: quale versione è quella online? Avevo già effettuato la tal modifica? Avevo già integrato quella certa funzionalità?
Per tracciare i deploy e sapere qual'è la versione dell'applicazione in esercizio (o quale era in esercizio a un dato momento), è molto utile creare un tag nel sistema di controllo delle versioni.