2012-04-19 8 views
5

Per prima cosa devo divulgare che gestisco solo le relazioni con i fornitori e non ho una profonda conoscenza tecnica.Come interagiscono jenkins, Github e Puppet

Ho appena avuto una chiamata in conferenza con uno dei nostri subappaltatori che mi ha chiesto di firmare un PO per 4 server diversi (uno per Jenkins un altro per Github, un terzo per Puppet e un quarto come un test box).

L'architetto tecnico sembra piuttosto sulla difensiva quando gli faccio delle domande. So che non è il mio lavoro mettere in dubbio le sue capacità, ma ho un budget da gestire e sono preoccupato che abbiano sovrastimato questo (o almeno i 3 prodotti che hanno menzionato sembrano sovrapporsi molto). Qualcuno sarebbe così gentile da spiegarmi chiaramente il ruolo che ognuno gioca.

Gradirei anche un secondo parere sul fatto che abbiano davvero bisogno di 4 server e se alcune delle tecnologie menzionate potrebbero coesistere sugli stessi server. (cioè Jenkins, Github e Puppet vivono tutti su un singolo server Ubuntu?).

+0

I tre strumenti non si sovrappongono affatto; GitHub è un servizio in hosting, quindi non è necessario un server (a meno che non si ottenga l'edizione aziendale). Questi strumenti potrebbero coesistere su un server, ma se stai usando Jenkins per le build, potresti volere più server. Allo stesso modo, se stai usando Puppet, probabilmente otterrai comunque più server, per gestire Puppet. –

risposta

2

I 4 strumenti non si sovrappongono. Interagiscono e completano del tutto.

GIT è lo strumento di controllo della sorgente. Memorizzi tutta la cronologia della programmazione lì. È il blackbox di sviluppo. Jenkins è lo strumento di integrazione continua. Utilizzerà GIT per ottenere l'ultima versione del codice (o la versione di test o la versione di pre-produzione) per testarla contro i modelli di test che hai definito. Puppet sembra essere un tool di amministrazione del server.

Onestamente, dipende dal progetto. Se si tratta di un'app enorme che richiede cicli di costruzione pesanti, quindi jenkins sarà meglio sul proprio server, in modo che le persone possano ancora lavorare normalmente con altri servizi. Credo che Jenkins/Puppet potrebbe essere sullo stesso server. O così potrebbe essere Pupper e GIT (git è una risorsa molto bassa).

Il testbox sembra ok. Ma penso che la casella GIT potrebbe anche essere servita come un testbox.

Penso che potresti tagliare il server di cui hai bisogno per 2. Ma di nuovo, dipende dalle dimensioni del tuo progetto. Se è un grande progetto, suonalo bene e faglielo fare. Anche se la suddivisione del server è un po 'strana, potrebbe essere necessario. Ma francamente penso che non ne abbia davvero bisogno.