2012-04-19 18 views
5

Primero debo revelar que solo administro las relaciones con los proveedores y carezco de conocimientos técnicos profundos.Cómo interactúan jenkins, Github y Puppet

Acabo de tener una conferencia telefónica con uno de nuestros subcontratistas que me ha pedido que firme un pedido para 4 servidores diferentes (uno para Jenkins otro para Github, un tercero para Puppet y un cuarto como caja de prueba)

El arquitecto técnico parece bastante a la defensiva cuando le hago preguntas. Sé que no es mi trabajo cuestionar su capacidad, pero sí tengo un presupuesto para administrar y me preocupa que hayan diseñado esto en exceso (o al menos los 3 productos que han mencionado parecen superponerse mucho). ¿Alguien sería tan amable de explicarme claramente el papel que juega cada uno?

También agradecería una segunda opinión sobre si realmente necesitan 4 servidores y si algunas de las tecnologías mencionadas podrían coexistir en los mismos servidores. (es decir, ¿podrían Jenkins, Github y Puppet vivir en un único servidor Ubuntu?).

+0

Las tres herramientas no se superponen en absoluto; GitHub es un servicio alojado, por lo que no necesita un servidor (a menos que obtenga la edición empresarial). Estas herramientas podrían coexistir en un servidor, pero si está utilizando Jenkins para compilaciones, es posible que desee más servidores. Del mismo modo, si está usando Puppet, presumiblemente obtendrá más servidores de todos modos, para que Puppet los administre. –

Respuesta

2

Las 4 herramientas no se superponen. Ellos interactúan y se complementan por completo.

GIT es la herramienta de control de fuente. Almacena toda la historia de la programación allí. Es el blackbox dev. Jenkins es la herramienta de integración continua. Utilizará GIT para obtener la última versión del código (o la versión de prueba o la versión de preproducción) para probarla con los patrones de prueba que definió. Puppet parece ser una caja de herramientas de administración de servidor.

Honestamente, depende de su proyecto. Si se trata de una gran aplicación que requiere ciclos de construcción pesados, entonces jenkins estará mejor en su propio servidor, por lo que las personas aún pueden trabajar normalmente con otros servicios. Creo que Jenkins/Puppet podría estar en el mismo servidor. O también podría ser Pupper y GIT (git es un recurso muy bajo).

La caja de prueba suena bien. Pero creo que la caja GIT también podría servir como una caja de prueba.

Creo que podría reducir ese servidor necesita por 2. Pero, una vez más, depende del tamaño de su proyecto. Si es un gran proyecto, juega limpio y deja que lo haga. Incluso si la división del servidor es un poco extraña, podría ser necesario. Pero, francamente, creo que realmente no necesitas eso.