Attualmente sto sviluppando un prodotto suddiviso in poche parti principali: un server, un client Android, un client desktop e una libreria di classi per fornire strutture di dati comuni. Attualmente il mio team sta usando Maven (con un repository privato Nexus) e TeamCity per fare un'integrazione continua, ma stiamo avendo un sacco di problemi con le build fallite a causa di problemi di numerazione delle versioni. La nostra soluzione attuale prevede l'utilizzo del plug-in di versioni di incremento automatico per Maven, ma ogni volta che facciamo qualsiasi modifica ai nostri file pom dobbiamo aggiornare manualmente la versione del file pom dato che la versione del pom in Git non è più aggiornata.
Io e il mio team abbiamo deciso di guardare ad Atlassian Bamboo e, poiché stiamo apportando modifiche al nostro flusso di lavoro, vorremmo risolvere tutti questi problemi contemporaneamente. Ecco quello che stiamo cercando:
- Vogliamo specificare un numero di build maggiore e minore (come 0.3) e avere l'artefatto risultante distribuito nel nostro repository come major.minor.auto-incrementing-build-number (come 0.3.2, 0.3.3 , 0.4.0).
- Vogliamo che questo sia il più automatico possibile, dal momento che abbiamo diversi sviluppatori e basta che una persona commetta un errore per causare un'interruzione al flusso di lavoro di tutti.
- Preferiamo che questa funzionalità si verifichi in Bamboo, se possibile, poiché la funzione "clone project" di Bamboo ci consentirebbe di replicare rapidamente questa funzionalità tra più applicazioni, oltre a mantenere tutti i nostri file pom da una tonnellata di ulteriori codice per la gestione delle versioni.
Qualcuno ha avuto esperienza nel fare qualcosa del genere con Bamboo, o c'è un altro approccio che dovrei considerare per semplificare questo?