Gitlab-ci e Maven: come gestire la versione del progetto?

0

Come dovrebbe comportarsi esattamente gitlab-ci per la versione del mio progetto?

Un semplice flusso git su gitlab potrebbe essere:

  • commit su master - > costruire, testare e implementare in staging
  • tag su master - > costruire, testare e distribuire in produzione

Ma come gestisci la versione?

1- la versione di implementazione dovrebbe essere basata sul tag? se sì aggiorni pom.xml con il nome del tag? (sembra pericoloso se commetti un errore)

2- la versione dovrebbe essere gestita dal rilascio di Maven? se sì, come si avvia la distribuzione in produzione? (perché il tag è ora gestito da Maven)

Quale sarebbe la migliore pratica qui? (puoi proporre altro flusso)

    
posta Tyvain 26.11.2018 - 02:51
fonte

1 risposta

2

Personalmente non mi piace se il processo di rilascio / distribuzione rende qualsiasi commit o tag da solo. Pertanto, in generale il mio approccio preferito è:

  1. Le versioni sono gestite manualmente, ma possibilmente utilizzando script di utilità. Per esempio. se uno sviluppatore esegue ./bump-version v1.2.3 che potrebbe occuparsi dell'aggiornamento del numero di versione nelle posizioni corrette e della creazione di un tag, e potrebbe garantire che il numero di versione sia stato aumentato correttamente.

  2. L'elemento della configurazione può includere la verifica che tutte le informazioni sulla versione siano coerenti: se la build è stata attivata da un tag, la versione pom.xml corrisponde alla versione nel tag? Un paio di regex è tutto ciò che è in genere necessario. Non scriveresti questi controlli come parte dei tuoi test unitari, ma come uno script di test separato.

risposta data 26.11.2018 - 12:19
fonte

Leggi altre domande sui tag