Come gestire gli artefatti su più team e repository?

2

La nostra situazione

Abbiamo 8 squadre e ogni squadra produce 8 artefatti (A, B, C, ecc.). La metà delle squadre usa Git, il resto usa clearcase. Mi piacerebbe che ogni squadra utilizzasse Git, ma sarà una lotta (auguratemi buona fortuna).

Ogni squadra è responsabile della creazione dei propri artefatti. Questi artefatti possono essere script, iso, vasi ecc. Tutti questi artefatti sono messi insieme per creare il prodotto.

Il nostro problema

Attualmente abbiamo Nessun sistema per gestire questi artefatti. Abbiamo posto ogni squadra su un'unità, quindi la consegniamo a una persona. Questa persona quindi organizza gli artefatti per creare il prodotto rilasciabile.

Come puoi immaginare, questo causa molti problemi. Le sue versioni difficili da tracciare tra gli artefatti e il prodotto rilasciabile. Errore umano. ecc.

Il nostro piano fino ad ora

Attualmente stiamo migrando ogni squadra in Microsoft TFS. Su TFS ogni team creerebbe la propria definizione di Build e costruirà i propri artefatti. Il team di test metterà alla prova ogni artefatto e determinerà se passare o fallire.

Fori nel piano

Stiamo facendo fatica a trovare una soluzione che memorizzi e versioni ciascuna di queste risorse e gestisca le dipendenze. Ciò che desideriamo è creare il prodotto al volo dalle versioni testate di ciascun artefatto.

Domande e consigli

Quali soluzioni potrebbero gestire meglio questi requisiti? Quali sono alcune delle best practice e dei processi per la gestione della configurazione?

Abbiamo sperimentato con OSS Nexus Repository, ma non eravamo soddisfatti di alcune delle sue funzionalità.

Credo che Git-LFS potrebbe essere parte della soluzione. Abilita il controllo delle versioni tramite tagging e ritengo che sia possibile recuperare le commit in base al tag. L'unico lato negativo è che la nostra azienda ha una conoscenza Git limitata (stiamo migliorando) ma non ci sono ancora.

Grazie per l'aiuto!

Se hai bisogno di maggiori informazioni per favore fammi sapere. È difficile descrivere ogni dettaglio senza scrivere un romanzo.

    
posta Rstack 02.08.2017 - 23:22
fonte

1 risposta

4

Sembra che tu abbia bisogno di un sistema di gestione dei pacchetti. Ce ne sono molti disponibili a seconda della piattaforma su cui stai lavorando (NPM, Maven, Nuget, Cioccolato, ecc.)

TFS incorpora il supporto per l'hosting dei pacchetti Nuget e Visual Studio 2017 semplifica notevolmente la creazione di pacchetti Nuget per le applicazioni .Net Standard e .Net Core. Tuttavia, se si dispone di un ambiente eterogeneo, probabilmente sarà necessario esaminare Nexus o Artifactory che supportano più sistemi di gestione dei pacchetti.

Gestione pacchetti ha sia funzionalità lato server che lato client che possono aiutare la tua situazione:

  • Tutti i pacchetti forniti hanno un archivio e un manifest.
  • Il manifest elenca tutte le dipendenze per quel pacchetto.
  • Il lato client (Nuget, Maven, ecc.) esamina le dipendenze del progetto corrente e scarica le dipendenze (e le loro dipendenze) in modo da poter costruire e testare il progetto.

È abbastanza standard per i negozi DevOps ospitare i propri repository privati, sia per gestire le dipendenze che per ospitare risorse interne che non sono destinate a essere condivise con il mondo.

Nexus e Artifactory supportano più sistemi di build, in modo che possano giocare il ruolo di repository per più di un solo strumento di creazione. TFS, Jenkins, TeamCity, ecc. Funzionano tutti bene con i sistemi di gestione dei pacchetti e possono anche distribuire automaticamente le risorse di build sul server di gestione dei pacchetti.

Parte della soluzione ha anche numeri di build nel numero di versione. È possibile includere il numero di commit GIT come parte finale del quartetto del numero di versione per consentire di risalire a un commit specifico. Il tuo sistema di build automatizzato può iniettarlo nella fase di creazione del pacchetto, che può aiutarti con segnalazioni di bug, ecc.

    
risposta data 03.08.2017 - 01:38
fonte

Leggi altre domande sui tag