Sto progettando uno strumento nella mia organizzazione per aiutarmi nella gestione dei rilasci. L'organizzazione è composta da diversi piccoli team che gestiscono i propri repository in git. Il gestore dei rilasci è responsabile del taglio dei rami su tutte le linee di sviluppo in ciascuno dei repository e poi lo consegna ai processi di controllo qualità.
Lo strumento chiede a ciascun team di definire una semplice specifica YAML che descriva dettagliatamente i passaggi utilizzati per compilare e impacchettare il sorgente del team in artefatti binari. Queste potrebbero essere un'istruzione di tipo Maven o una configurazione di Python. Diversi linguaggi (e strumenti di costruzione) sono utilizzati per ciascuno di questi progetti. Le specifiche YAML e le istruzioni per creare / pacchetto sono memorizzate all'interno dei singoli repository del team.
Durante un rilascio, il mio strumento di rilascio dovrà tagliare i rami da tutti i rami di sviluppo di questi repository. Quello con cui sto combattendo è - dove conservare questo elenco di rami di sviluppo per repository?
Non appartiene al mio strumento perché non voglio che i team definiscano quell'elenco nel codice sorgente del mio strumento.
Non può essere archiviato nei repository dei team perché il mio strumento non saprebbe quale ramo del repository del team deve esaminare le informazioni sul ramo di sviluppo. È uno strano riferimento personale.