Developing Frogtek

El blog del Departamento de Tecnología

Autor: Julio García (página 3 de 3)

Automatización

Gracias a la costumbre en Frogtek de fomentar la formación a través de la compra libros, he podido leer “The Pragmatic Programmer” magnífico libro recomendable para cualquier programdor con ganas de mejorar.

En el mismo dan un par de consejos que me han parecido muy interesantes y que aparte de estar muy ligados, creo que seguimos bastante aquí en Frogtek. El primero:

Use the power of command shells

Indica que debemos usar los comandos shell como herramientas para facilitar nuestro trabajo. Por ejemplo en mi caso utilizo scripts shell para eliminar nuestro software del emulador y cargar la última versión de nuestro servidor, consiguiendo con un solo comando algo que si hiciera a través de la interfaz me llevaría el doble o el triple de tiempo. El segundo:

Don’t use manual procedures

Nos dice que no hagamos de forma manual nada que pueda hacer un script o programa. Será más propenso a errores y dará más quebraderos de cabeza a la hora de ser repetido en diferentes entornos. En este caso el ejemplo es nuestro proceso de paso a producción a través de Hudson, la compilación de todos los proyectos y paso de test, etc.

En resumidas cuentas automatización, todo lo que sea susceptible de ser automático debería serlo. Será más rápido, más confiable y menos propenso a errores. No tengas miedo al coste de configuración, si lo vas ha hacer más de dos veces, vale la pena automatizar. Vamos o eso nos dice la experiencia en Frogtek …

Servidor de desarrollo

Servidor de desarrollo

Os presento a nuestro servidor de desarrollo: DarwinFrog.

Debido a nuestra pasión por la integración continua, las revisiones de código, las herramientas de calidad y los tests automáticos; el pobre servidor está pluriempleado.

A modo de recuento las herramientas que habitan nuestro servidor y nos ayudan en nuestras tareas diarias son:

  • Hudson servidor de integración continua, lleno de plugins para adaptarse al desarrollo en Android y Gae.
  • Subversion en estos momentos nuestro sistema de control de versiones, estamos pensando migrar a algo más moderno como Git o Mercurial, pero no encontramos el momento adecuado.
  • Sonar plataforma de control de calidad del código, muy completa y visual.
  • Review Board herramienta de revisión de código muy útil y fácilmente enlazable con Subversion y otros sistemas de control de versiones.
  • Nexus gestor de repositorios muy útil para almacenar artefactos propios generados por Maven y así no tener que preocuparse de las versiones de las librerías, ni de las dependencias.
  • Seleniumhq plataforma para realizar tests funcionales web, versátil y fácilmente integrable con Hudson. Permite grabar los test de forma muy sencilla desde firefox entre otros.

En próximos posts intentaremos entrar en más detalle y contaros más a fondo como utilizamos y para que cada una de las herramientas.

Recientes entradas