Sto provando ad automatizzare il processo di compilazione dei miei progetti (sia java che .net) usando Ant e MSBuild. Ho letto su di loro e so come scrivere script di build in Ant e MSBuild. Ma mi chiedo, ci sono linee guida o best practice per scrivere script di compilazione in generale? Ecco due che ho trovato, ma mi piacerebbe sentire di più da altri sviluppatori.Qualsiasi best practice per scrivere script di build in Ant o MSBuild
- Nello scrivere uno script di build, fare affidamento solo sugli elementi che si trovano nella il controllo del codice sorgente e sono disponibili nella cartella di lavoro, mentre controllando le fonti. NON scrivere script di build che sono dipendenti da elementi che non sono conservati sul controllo del codice sorgente.
- Se un progetto contiene un insieme di sottosistemi e ciascun sottosistema ha propri script di compilazione, il file di build del progetto deve semplicemente chiamare gli script di compilazione dei sottosistemi. Inoltre, questi file devono importare un file di configurazione comune che contiene gli obiettivi, quali la compilazione, prova, pacchetto ecc
ho visto this post pure, ma è dettagliato sul modo di attività di scrittura. Ho bisogno di più linee guida di alto livello, come menzionato sopra.
Qui ci sono le linee guida che ho raccolto da risposte:
- Esegui ogni costruire in un ambiente pulito. Significa che ogni script di costruzione ha bisogno di un target
clean
. - Generalmente gli script di build devono includere gli obiettivi
compile
,package
etest
. - Se un prodotto ha linee di sviluppo diverse (ad es. Dev, release), , tutti dovrebbero avere lo stesso script di compilazione. Ma i diversi parametri devono essere passati a questi script.
- Le build eseguite sulle linee di sviluppo di solito contengono la compilazione, la confezione , la distribuzione e l'installazione dei passaggi. Tuttavia, le versioni sulla release includono ulteriori passaggi, ad esempio la codifica del prodotto e generando i log delle modifiche/note sulla versione.
- Gli script di compilazione devono essere mantenuti anche sul controllo del codice sorgente.
- cercare di mantenere tutte le informazioni in costruire script di build, non su server di integrazione continua (bambù, TeamCity, etc.)
- Se la build usa un parametro che può cambiare in futuro (ad esempio, l'indirizzo di rete per copiare il creare risultati), non digitalizzarlo nello script di build. invece, usa i parametri di build per controllarlo più facilmente .
Grazie David. I tuoi commenti sono davvero preziosi. – hsalimi