Quindi abbiamo un codice base che gradle si basa su 3 diversi target per 3 diversi clienti che sono completamente separati da una prospettiva di business. Per semplificare il nostro flusso di lavoro di rilascio, abbiamo scelto di mantenere lo stesso controllo di versione per tutti i target, in quanto meno del 5% delle modifiche sono specifiche del client e preferiremmo tenere traccia di una versione rispetto a 3.
Diciamo che apportiamo una modifica al codice base che riguarda solo il bersaglio A e lo ha rilasciato per il bersaglio A.
Abbiamo due opzioni per B e C:
- Salta semplicemente la versione, non parlarne nelle note di rilascio, non esiste.
- Non sembra molto bello ...
- Mi chiedo se i clienti potrebbero percepire questo aspetto negativo
- Versione di rilascio per tutti e tre i target:
- Le note di rilascio avranno qualcosa di molto generico (che è anche una bugia): "correzioni e miglioramenti"
- Prova a raggruppare le modifiche in modo che nelle pubblicazioni sia sempre presente qualcosa di cui parlare
- Ad esempio, se apporto una modifica specifica per A, impacchetta una funzione o una correzione di bug non specifica per il target in modo che la versione sia un aggiornamento legittimo per tutti i target.
- Dividi il versioning in 3 e tiene traccia di quale versione in A, B e C corrispondono l'una all'altra
- Ultimo resort
Qualche suggerimento?
Aggiornamento: Per motivi di lavoro, non possiamo parlare di un cliente con gli altri clienti perché, dal punto di vista del business, i prodotti sono in realtà diversi.