Abbiamo due progetti interni, A e B, sviluppati da diversi team con B dipendenti da A. Poiché il codice sorgente per entrambi i progetti è memorizzato in git, ho incluso il progetto A come sottomodulo nel progetto B e configurato il sistema di build per costruire sia nell'ordine giusto. Una soluzione alternativa sarebbe quella di consumare A tramite un gestore di repository binario come Artifactory o Nexus.
Mi chiedo pro e contro in base al codice sorgente e in base agli artefatti binari. Quando è migliore dell'altro? Finora sono riuscito a trovare i seguenti fattori, ma sono davvero entusiasta di ascoltare altre opinioni.
A seconda del codice sorgente è meglio
- se non si dispone di un gestore di archivi binari
- se è necessario dipendere dalla versione preliminare di un altro progetto
- se è necessario correggere un altro progetto
- perché è più semplice sfogliare il codice sorgente delle dipendenze in IDE
A seconda dei binari è meglio
- per ridurre al minimo il tempo di compilazione
- per evitare il fastidio di configurare l'ambiente di costruzione di un altro progetto