Domanda

flussi Per la nostra applicazione enterprise, abbiamo a più livelli in AccuRev (sviluppatori promuovono al flusso di integrazione, che promuove il flusso di Quality Assurance, che promuove il flusso di produzione). Ogni componente principale della domanda ha una propria serie livelli di flussi (ad esempio:. C'è un flusso di integrazione client di Windows, un flusso di Windows client Quality Assurance, un flusso di dati di accesso di Integration Services, un flusso di accesso Servizi Data Quality Assurance, ecc).

Sono responsabile della creazione automatizzata costruisce per l'intera applicazione in TeamCity. Finora, ho creato un configurazione di generazione separata per ciascuno dei principali componenti (ad es .: una configurazione di generazione di Windows Client). In questo momento queste configurazioni tirare dai predetti flussi di integrazione. E funziona a meraviglia.

Tuttavia, ciò che vorremmo fare è passare le configurazioni di build a tirare da diversi livelli. In altre parole, se vogliamo eseguire una build "integrazione" del client Windows, la configurazione di generazione tirerà dal flusso di integrazione client di Windows. Nel caso di un accumulo di garanzia della qualità, tuttavia, tirerà dal flusso di Quality Assurance.

Per quanto posso dire, l'unico modo per ottenere questo risultato sarebbe quello di creare una configurazione di generazione separata per ogni livello (ad es .: "Build di Windows Configuration Client (Quality Assurance)").

C'è un modo più semplice?

O c'è qualcosa di fondamentalmente sbagliato con il modo in cui ho impostato la automatizzato generazioni di mi impedisce di realizzare questo?

È stato utile?

Soluzione

Non ho usato AccuRev, ma sto assumendo che i flussi sono equivalenti a filiali in altri sistemi di controllo versione.

Credo che siete sulla strada giusta. Il vantaggio di avere configurazioni di costruzione separata per ogni livello / piattaforma è che una volta che sono tutti impostati, è possibile costruire uno di essi con un clic di un pulsante, senza ulteriori configurazioni. Si potrebbe fare senza configurazioni di compilazione separate per ogni livello, ma poi si dovrebbe andare nei guai con la configurazione di generazione o personalizzato costruisce con proprietà specifiche stabilite (è abbastanza facile da eseguire su misura costruisce direttamente dalla pagina progetti TeamCity però!) ogni volta che si vuole fare una build.

Quello che probabilmente fare è impostare configurazioni di costruzione separata per ogni piattaforma / livello come avete fatto, e la base di tutti fuori di un singolo modello, utilizzando i parametri di configurazione per gestire l'impostazione della piattaforma e il livello. Questo vi dà i benefici delle singole configurazioni (one-click costruzione, separare versioni se si vuole, ecc), pur mantenendo i requisiti di complessità e di manutenzione bassa isolando la configurazione a un modello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top