Otros consejos

necesidad de añadir un poco de esto (y @GoodEnoughs):

Pero esto sólo suena como un menor de edad molestia para versión distribuida control.

De ningún modo puede -. Lo que es un "servidor" acumulación hace es decirle que su tronco será construir y transmitir sus pruebas más o menos de limpia (menor es la cantidad de configuración que necesita para hacer de su entorno)

Estoy contemplando un cambio a DVCS pero incluso después de haber hecho por lo que arrastrar mi integración continua de mis manos muertas frías.

Para tomar un ejemplo simple - "a" que está característica en desarrollo "b" distribuido función está desarrollando o no en algún momento necesita para coser todo junto - si, cuando se comprometa, se olvida de añadir un archivo de la aplicación va a construir en su máquina, pero no lo hará en otro sitio. Por eso, cuando se presiona la acumulación a su "tronco" de la integración continua se disparará y la construcción fallará y usted sabrá y es de esperar antes a nadie tira de su código no es tan completa que usted será capaz de tomar pasos.

Si está trabajando en un proyecto con varios desarrolladores que tienes que ser capaz de definir dónde versiones de lanzamiento vienen de - el tronco, en efecto, -. Esto es cierto independientemente de cómo funciona el control de versiones

Si ha añadido una característica - especialmente uno en el que otras personas tienen una dependencia - para poder estar seguros de que cuando se empuja a "vivo" que se construye y pasa las pruebas en algún lugar que no sea su entorno de desarrollo es enorme . Más que eso, se despliegan desde construye de mi servidor de compilación - su tipo de Cómo se especifica la "definitiva" de generación. En última instancia Voy a tener el despliegue de usuario provocada construye. Su no es bueno decir que se puede trabajar alrededor de ella - no se puede si usted lo necesita (y Tienes revueltos cajas dev redondos en una oficina de encontrar y confirma archivos que faltan)

.

Eso es todo un poco fuerte? No sé -. Pero mi servidor de compilación es una de esas cosas que tiene consiguieron no tengo ningún deseo de devolver

Daily construye creo que son muy importantes. Si usted tiene un equipo distribuido en diferentes zonas horarias, entonces lo mejor es encontrar el tiempo, que es más o menos 'al final de la jornada' durante la mayor parte del equipo. Además si el diario construye tienen un componente de prueba automatizado entonces es más deseable.

En los días de los sistemas centrales de control de origen, que estaría a favor continua construye sale cada 5-10 minutos cuando se cambia nada en el código fuente. Ya que un error de compilación tiene un potencial de ralentizar la mayoría del equipo. Para las organizaciones que utilizan sistemas de control de fuentes distribuidas, una continua build no podría ser necesaria tanto ya que los desarrolladores tocan la 'virgen' código base directamente con menos frecuencia.

Lo ideal sería que, a menos que usted está construyendo algo masivo que lleva más de la mitad de un día para construir, que construiría más de una vez al día. Una vez que haya configurado en marcha un servidor de integración continua, como Hudson o TeamCity , las compilaciones que sucederá de forma automática, por lo general cada hora o en cada confirmación, y se le serán notificados si hay algún problema.

Es una buena manera de detectar errores temprano, especialmente si también está ejecutando pruebas automatizadas como parte de la construcción. Es particularmente útil para encontrar errores de configuración, donde la acumulación trabaja en la máquina de un desarrollador, pero no funciona en otros lugares porque algo se omitió en el repositorio o el medio ambiente.

Los servidores de integración continua más avanzados también permiten realizar un seguimiento de las métricas en el tiempo (por ejemplo, el porcentaje de cobertura de código, tiempo de construcción, líneas de código, etc.)

construcciones diarias son bien. Usted definietly los necesite, si usted no tiene nada pero para ser sincero, creo que la prueba de Joel es un poco pasado de moda en estos días.

En mi opinión debe ser la construcción de forma continua durante todo el día, el funcionamiento de su unidad, el sistema y los casos de prueba nivel funcional e idealmente envasado y desplegar en un escenario como el medio ambiente, al mismo tiempo, mientras que la verificación de que cualquier entorno de versiones le mecanismos DB y tener en su lugar están trabajando como se esperaba.

Si construir o despliegue veces son excesivas y luego considerar optomizing distancia algunos de estos problemas con los discos RAM físico o de software, más rápidas conexiones a Internet, parallellizing construye, etc. El tiempo que se ahorra por la rápida identificación de las pausas de construcción va a amoratize el hardware costar bastante rápidamente.

construcciones diarias no son importantes. construye todos los días que siempre tienen éxito son (o aquellos en los que sólo se ha roto durante una hora). Tener CI cuando la acumulación se rompe el 70% de las veces no es muy útil, ya que si la cosa se rompe en su mayoría no ayuda a identificar un error.

Yo creo que debería ser la acumulación diaria, probar y desplegar al servidor de ensayo.

La idea detrás de 'construir cada día' es siempre tener algo listo el que los probadores y administradores de proyectos se pueden ejecutar de manera que todo el mundo tiene una idea de lo que es el estado real del proyecto.

En el pasado con las aplicaciones de escritorio después de la 'acumulación diaria' un probador o el jefe de proyecto puede ejecutar inmediatamente la aplicación para desplegar ningún paso tenía que ser mencionado.

Licenciado bajo: CC-BY-SA con atribución
scroll top