Abbiamo diversi componenti nel nostro prodotto che sono
- Componente A
- Componente B
- Componente C
Le dipendenze sono (se il sistema non ha esito positivo fallisce):
A < - > B
B < - > C
Attualmente stiamo creando una pipeline di build e finalmente il Software per ogni componente viene impacchettato in un'unica immagine firmware:
A - > Uscita A
B - > Uscita B
C - > Uscita C
Uscita A + Uscita B + Uscita C = Firmware
Il firmware è pieno di documentazione e verrà quindi distribuito. Le implementazioni dovrebbero avvenire ogni settimana per i test e ogni 2-4 settimane per la produzione.
Firmware + Documenti = Software implementato
Il mio problema ora è:
-
Come faccio a garantire la compatibilità tra A, B e C dato che sono tutti sviluppati da team diversi?
Ho visto questa domanda qui Ricerca delle best practice per la numerazione delle versioni dei componenti software dipendenti
Disponiamo di numeri di versione per A, B e C e anche il firmware generale ne ha uno. Esistono buone pratiche o modi per farlo?
-
Come faccio a rintracciare la compatibilità? (Oltre a guardare nel firmware pacchettizzato e vedere quali versioni sono state incluse in un determinato momento)
Ho pensato di utilizzare i tag git qui e di inserire il numero di versione del firmware (solo prodotti spediti) come tag su A, B, C.