Abbiamo un team di 5 sviluppatori che lavorano su un prodotto e sono a un bivio cercando di determinare un modo migliore (se esiste) di gestire il flusso di lavoro di sviluppo e le dipendenze del progetto. Al momento abbiamo due soluzioni, Core
e Client
. Il core fa riferimento a 8 progetti come dipendenze ( non via NuGet ). Core
è essenzialmente un'API di amministrazione e API REST. Client, è un modello di progetto che verrà replicato ogni volta che abbiamo una nuova istanza che deve essere personalizzata. Client
riferimenti 4 degli stessi progetti eseguiti da Core
. Ancora una volta, entrambe sono soluzioni (.sln) ed entrambe fanno riferimento direttamente ai progetti di dipendenza.
Per lo sviluppo locale, gli sviluppatori si dividono attualmente da due repository separati, uno per ciascuna soluzione. L'ambiente locale degli sviluppatori deve essere impostato in modo che il Client
possa correttamente chiamare l'API REST localmente. Lo sviluppo locale richiede spesso modifiche a Core
e Client
per testare nuove funzionalità, ecc.
Il nostro problema è che a volte le nostre modifiche non si basano sui sistemi di altri sviluppatori a causa delle diverse posizioni dei repository sul file system. Ciò causa problemi con il percorso verso i progetti nei file della soluzione e crea un sacco di inutili lavori e frustrazioni extra.
Stiamo prendendo in considerazione il passaggio a un flusso di lavoro NuGet (server NuGet locali, Test e Prod), ma sembra che ci sia un sovraccarico extra per il payoff. Qualcuno può consigliare una soluzione migliore per il flusso di lavoro di sviluppo locale, test, staging, prod per il nostro piccolo team?