Domanda

Ho qui 300 linee di NAnt file ed è abbastanza disordinato.Mi chiedo se c'è una qualsiasi guida di stile per scrivere gli script NAnt e quali sono le migliori pratiche per farlo.

Qualche consiglio?

È stato utile?

Soluzione

Io non sono a conoscenza della pubblicazione di guide di stile, ma di certo posso condividere la mia esperienza.È possibile utilizzare molte delle stesse tecniche utilizzate in altri ambienti di programmazione, come ad esempio rendendo il codice modulare e dividerlo in più file.Nell'ambiente che ho impostato, ogni progetto è organizzato in questo modo:"[ProjectName]\Common" contiene un comune file di build che è collegato a quasi tutti i miei progetti.Ho anche un set di subversion obiettivi memorizzati in un file.Il "Comune" sottodirectory è in realtà un svn:esterno, quindi è automaticamente sincronizzati su più progetti.Nel Comune.file di build, ci sono un sacco di proprietà ambientali, oltre ad alcuni riutilizzabili filesets, riutilizzabili obiettivi, e una "StartUp" target che è usato da ciascuno dei progetti di "Avvio" di destinazione.

"[ProjectName]\Progetto.costruire" contiene tutti i progetti proprietà specifiche e filesets, alcuni dei quali ignorare le impostazioni dal Comune.costruire.Questo file contiene anche una "StartUp" di destinazione, che stabilisce alcune impostazioni runtime, come il montaggio di informazioni di versione e qualsiasi dipendente percorsi.Si esegue anche la "Startup" target dal Comune.costruire.Questo file comprende i Comuni.file di build.

"[ProjectName][AssemblyName].costruire" contiene tutte le impostazioni e gli obiettivi specifici di montaggio.Questo file contiene il Progetto.costruire, che comprende anche il Comune.costruire.

Questa gerarchia funziona bene nella nostra situazione, che ci ha permesso di costruzione di un tronco versione e diversi ramo versioni di un prodotto su un server di integrazione continua.Come è ora, le uniche differenze tra gli script per la costruzione della versione tronco e dei rami sono solo una manciata di righe.

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