Questa non è una domanda su come numerare le versioni.
Abbiamo un'applicazione con un determinato schema di numerazione delle versioni. Abbiamo anche un server CI Jenkins (presto sostituito con Atlassian's Bamboo) che costruisce regolarmente il nostro software. L'applicazione mostra il numero di versione, quindi è scritto in uno dei file nella nostra base di codice.
Non vogliamo modificare manualmente il numero di versione prima di rilasciare una versione. La nostra soluzione attuale è che abbiamo un lavoro di Jenkins che modifica il numero di versione nel nostro codice, lo impegna, etichetta il repository con il numero di versione, lo spinge e quindi impacchetta l'applicazione per la distribuzione. Il problema è che dobbiamo decidere di rilasciare una versione prima che la compilazione abbia esito positivo o negativo.
Quello che vogliamo fare è questo: fare in modo che Jenkins costruisca regolarmente il nostro prodotto ed esegua i test unitari. Successivamente, vogliamo selezionare una compilazione passante e rilasciarla con un certo numero di versione.
In sintesi, questa è la procedura che desidero:
- Jenkins costruisce e testa regolarmente il nostro prodotto.
- Quando vogliamo rilasciare una versione, possiamo selezionare l'ultima versione di passaggio da Jenkins e controllare se rilasciare.
- La versione risultante dovrebbe includere il numero di versione.
- Il commit che è stato creato e rilasciato deve essere contrassegnato con il numero di versione.
Qual è la migliore pratica per il rilascio di versioni del prodotto? C'è un processo che soddisferà le mie richieste?