Estoy tratando de hacer algunos cambios positivos en mi empresa y uno de los cambios es implementar una integración continua. Hacemos desarrollo móvil (iOS / Android), por lo que necesito un CI que admita ambos tipos de proyectos. Como puede ver, no sé mucho sobre CI, pero busqué en Google un poco y creo que Jenkins y Hudson son los dos más populares.
Tengo una pregunta de dos partes.
- ¿Tu pensamiento sobre Jenkins?
- ¿Hay alguna manera de que CI verifique si el proyecto se está compilando según los
estándares de codificación (como acoplamiento flojo, etc.)?
Respuestas:
En primer lugar, es posible que desee ver TeamCity como otra opción para su servidor.
Desde mi punto de vista (aunque tengo algo menos de experiencia con Jenkins que con TeamCity), ambas son herramientas excelentes y muy capaces: sería feliz en un entorno que las use.
Ok, para llegar a la carne del problema, es decir
En el nivel más fundamental, todo lo que hace un servidor de CI es ejecutar una secuencia de comandos y luego interpretar y presentar los resultados de la ejecución de la secuencia de comandos, por lo que si puede ejecutarla, su servidor de CI probablemente pueda ejecutarla y, si puede formatear la salida adecuadamente, entonces el servidor CI probablemente puede interpretar e informar sobre el resultado.
Por supuesto, los principales servidores de compilación ya son capaces de hablar / integrarse con muchas herramientas populares, por lo que la pregunta es qué herramientas está utilizando para verificar sus estándares de codificación y eso se integra con el servidor de CI que elija.
Sí, el servidor CI aporta mucho más al juego en términos de automatización que simplemente ejecutar un script sin pensar, pero al final del día eso es lo que está haciendo.
Para que quede claro: sé que un servidor de compilación hace más que solo ejecutar scripts, es la automatización del proceso (y en particular la integración con (D) VCS) lo que agrega valor, pero al responder "qué necesito para un servidor de compilación "pregunta, la respuesta es" un servidor y script "todo lo demás fluye desde allí.
fuente
Secundo la recomendación de TeamCity: es un gran producto. No puedo hablar con Android ya que no tengo tiempo para sentarse allí, pero tengo proyectos de iOS ejecutándose con éxito en CI gracias a dos artículos ( 1 2 ).
Las partes más difíciles realmente tenían que ver con hacer que el Mac ejecute la compilación automatizada con el llavero adecuado y así podría crear una aplicación firmada que podría implementar en un iDevice en lugar de una opción de solo emulador.
fuente
He configurado el servidor de compilación y los scripts de nuestra compañía antes de usar Jenkins donde desarrollamos aplicaciones iOS. Como muchos dijeron, el servidor CI es bastante simple y me gusta Jenkins porque es gratuito / de código abierto y tiene muchos complementos como publicar informes de cobertura o integración de github.
fuente