Quali strumenti usi per le build automatizzate/distribuzioni automatizzate?Perché?[Chiuso]

StackOverflow https://stackoverflow.com/questions/99535

  •  01-07-2019
  •  | 
  •  

Domanda

Quali strumenti usi per le build automatizzate/distribuzioni automatizzate?Perché?

Quali strumenti consigliate?

È stato utile?

Soluzione

Hudson per build automatizzate.L'ho scelto perché era il più semplice da configurare e provare.Un sistema troppo complesso e dall'aspetto non brillante non impressionerà abbastanza il management da coinvolgerlo per le build automatizzate.Soprattutto in un progetto che ha molta inerzia.

Altri suggerimenti

NAnt per le build (ma MSBuild, Rake, quasi tutto andrebbe bene) e CruiseControl.NET per le distribuzioni.Attualmente sto lavorando con la nuova Cruise degli studi ThoughtWorks in quanto fornisce un modo migliore per organizzare le varie pipeline e permettermi di distribuire qualsiasi versione desideri in un ambiente di destinazione.

Noi usiamo TeamCity, da JetBrains.Producono anche Resharper e IntelliJ.

Lo utilizziamo per creare le nostre applicazioni .Net ed è stato abbastanza semplice configurarlo, connetterlo a TFS ed eseguire strumenti aggiuntivi.È molto raffinato e in realtà mi ricorda un po' questo sito.L'ho trovato molto più carino di CruiseControl e, per le dimensioni del nostro team, è gratuito.Se hai bisogno di molte build diverse, più build per utente e così via, il costo è un po' (ma comunque abbastanza ragionevole).

Stranamente, ho appena trascorso due settimane a rivedere (leggi implementare da zero) il nostro processo di creazione notturna.Molto divertente (no, davvero).Ho accarezzato l'idea di installare Team Foundation Server, ma utilizziamo Perforce per il controllo del codice sorgente e non pensavo che ne valesse la pena.

Il nostro processo è ora un insieme di script Powershell eseguiti su un server di build/test dedicato che esegue le seguenti operazioni in un'attività pianificata:

Cancella l'intero albero dei sorgenti (controlla prima di non aver estratto nulla!)

Elimina l'intero albero dei sorgenti da Perforce (dall'ultima build etichettata)

Genera un rapporto sulle modifiche (sincronizzandosi con HEAD e osservando cosa viene visualizzato)

Costruisci l'app

Indicizzare i file PDB nelle origini Perforce

Memorizza i file binari e i simboli in un server di simboli dedicato

Eseguire i progetti di prova

Costruisci il programma di installazione

Etichetta

Invia e-mail al gruppo con rapporti sullo stato di tutto quanto sopra

Funziona bene.

make E bash su Linux

make E cmd Su Windows

Utilizziamo una combinazione di strumenti di creazione e server di integrazione continua:

Strumenti di creazione:

  1. Esperto di
  2. SBT
  3. Gradle
  4. Rastrello

Server di integrazione continua:

  1. Jenkins
  2. Hudson
  3. Travis CI

Studio di creazione automatizzata.

Invece di consentirti di utilizzare script o file xml, viene fornito con operazioni macro grafiche predefinite che ti consentono di creare facilmente attività.

Per il nostro materiale compilabile per Windows, utilizziamo FinalBuilder.

Regolazione automatica della velocità per build automatizzate.Funziona alla grande.

Per le build automatizzate, penso che lo strumento migliore in questo momento sia Team City di JetBrain.La versione gratuita ha tutte le funzionalità necessarie per la maggior parte dei team di 5-10 persone.La configurazione è semplice, la configurazione di nuovi progetti è indolore (relativamente) e, soprattutto, è affidabile.

Per le migrazioni automatizzate, niente batte PowerShell.

UppercuT utilizza NAnt per creare ed è il Build Framework incredibilmente facile da usare.

Costruzioni automatizzate facili quanto (1) nome della soluzione, (2) percorso di controllo del codice sorgente, (3) nome dell'azienda per la maggior parte dei progetti!

http://code.google.com/p/uppercut/

Alcune buone spiegazioni qui: UppercuT

Maggiori informazioni


UppercuT è una build automatizzata convenzionale, il che significa che imposti un file di configurazione e ottieni un sacco di funzionalità gratuitamente.Probabilmente la caratteristica più potente è la possibilità di specificare le impostazioni dell'ambiente in UN UNICO posto e di applicarle ovunque, inclusa la documentazione durante la creazione del sorgente.

Documentazione disponibile: https://github.com/chucknorris/uppercut/wiki

Caratteristiche :

  • Configurazione semplice
  • Aggiornamenti semplici
  • Punti di estensione personalizzati (pre, post e sostituzione) per ogni fase del processo di creazione http://uppercut.pbworks.com/CustomizeUsingExtensionPoints
  • Dispone di documentazione per l'integrazione con Team City, CruiseControl.NET e Jenkins (ex Hudson) https://github.com/chucknorris/uppercut/tree/master/docs
  • Funziona su Linux con Mono
  • Versioni delle DLL in base al numero di build e alle revisioni del controllo del codice sorgente (SVN, TFS, Git, HG)
  • Compila attività: F5 o Ctrl + Maiusc + B
  • Denominazione forte resa semplice come vero/falso
  • Test e analisi del codice
    • Test
      • NUnità
      • MbUnit v2
      • Gallio
      • xUnità
    • NCopertina
    • NDipende
    • Nitriq
    • Analizzatore di migrazione mono
  • Offuscazione
  • ILMerge
  • Creazione e creazione di modelli di ambiente (ConfigBuilder, DocBuilder, SQLBuilder, DeploymentBuilder) https://github.com/chucknorris/uppercut/blob/master/docs/ConfigBuilder.doc?raw=true
  • Output del pacchetto per preparare la distribuzione
  • Comprime l'output

Al lavoro usiamo il buon vecchio Formica per costruire i nostri servlet Java.

Utilizzavamo Visual Build dal software Kinook, ma recentemente con la nostra nuova applicazione siamo passati a MSBuild poiché aveva una migliore integrazione con TFS e la possibilità di creare attività personalizzate.

Sicuramente gli GNU Autotools.IL autoconf E automake sono di fatto standard per i sistemi Unix.

Ho avuto successo usando buildbot, attivato da uno script post-commit su un repository di subversion.Questo è stato utilizzato sia per build automatizzate che per test automatizzati.

FORMICA sia per la compilazione che per la distribuzione/installazione.

È un ottimo programma di installazione multipiattaforma.

Noi usiamo Build Hericus Zed e gestione dei bug per le nostre build automatizzate.

Abbiamo 4 rami di codice, ciascuno con Java, C++, C#, compilazioni multipiattaforma e programmi di installazione per 5 sistemi operativi.

Preparati alle costruzioni.Pacchetti Debian per le distribuzioni (poiché i nostri server di produzione lo eseguono).

TeamCity esecuzione di script NAnt per la creazione/confezionamento e PowerShell per la distribuzione.

Ho scoperto che l'utilizzo di NAnt, basato su TeamCity, invece dei corridori nativi di TeamCity ci consente di avere un processo di creazione molto più ricco (ad es.minimizzatore CSS, ecc.).Significa anche che l'intero processo di creazione/pacchetto può essere eseguito su qualsiasi PC degli sviluppatori anziché solo sui server TeamCity, rendendo molto più semplice la personalizzazione e il debug dei problemi nel processo di creazione.

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