Raccolta di API che costituiscono una sola applicazione - Come gestire?

1

Abbiamo ereditato un'applicazione composta da piccole API Web .NET. Ogni API ha il proprio SLN di Visual Studio e git repo. Tutte le API sono pubblicate in una cartella ("Tutte") e tale cartella è ospitata su IIS con ciascuna API come applicazione separata sullo stesso sito Web e pool di app. La cartella con le API pubblicate ha anche un repository git.

L'unica eccezione è "CommonOps", che è una libreria di classi condivisa da tutte le altre API. La DLL è pubblicata in una cartella comune.

Tutto funziona per la maggior parte, e non voglio creare lavoro non necessario (o aggiornamento per motivi di aggiornamento).

Il problema è quando troviamo un bug. Ad esempio, se qualcosa nel CommonOps ha bisogno di essere aggiornato, dobbiamo creare un ramo in entrambi, CommonOps e il repository "Tutti". Quindi pubblica il CommonOps aggiornato (richiama richiesta e unisci), su "Tutto", quindi richiama richiesta e unisci "Tutto". Se altre persone lavorano su "Tutto" contemporaneamente, le richieste di pull possono portare a conflitti di merge in maratona.

Quale sarebbe l'approccio migliore per unificare l'intero lotto in un unico repo, o dovrei lasciarlo abbastanza bene da solo? In quest'ultimo caso, quale sarebbe la soluzione migliore per un flusso di lavoro quando è necessario modificare una delle API?

    
posta 4ndy 25.07.2018 - 09:23
fonte

1 risposta

2

OK, questo è il modo "corretto" per gestire le tue API

  • Elimina il repository completo

  • Pubblica la libreria CommonOps come pacchetto nuget

  • Consuma nuget CommponOps nelle varie API

  • Pubblica ogni API nel proprio sito Web anziché in un singolo sito Web

Quando aggiorni CommonOps, pubblica una nuova versione del pacchetto, sostituisci le API che richiedono la nuova versione, aggiorna il pacchetto, unisci, crea e distribuisci quelle API

    
risposta data 25.07.2018 - 09:31
fonte

Leggi altre domande sui tag