Aplicaciones MóvilesEstrategia Digital

Jenkins: plugins útiles para la automatización de tareas

3 Mins de lectura

Descubre cómo podemos ayudarte a impulsar la experiencia omnicanal a través del desarrollo de aplicaciones móviles.

En el anterior artículo sobre Jenkins describíamos en términos generales en qué consistía la aplicación web Jenkins y sus capacidades, nombrando una serie de ventajas e inconvenientes y sus alternativas existentes en el mercado. En este artículo se profundizará en mayor detalle sobre algunos aspectos técnicos de la utilización de esta aplicación. Pero antes de todo, hay que entender un término que tiene especial importancia en Jenkins y que se utilizó ampliamente en el artículo anterior: plugin.

¿Qué es un Plugin?

Un plugin al final es una funcionalidad extra que una persona ha creado para dar solución a un problema existente y que se integra de forma sencilla con Jenkins. Por ejemplo, mediante un plugin es posible generar a partir de un proyecto una aplicación de iOS firmada con los certificados correspondientes.

Instalación

Para la instalación de Jenkins existen dos alternativas. La primera de ellas consiste en el despliegue de un servidor local (war) en un contenedor, mientras que la segunda de ellas consiste en la ejecución del instalador de la plataforma deseada. En cualquier caso, al final lo que se tendrá es un servidor web accesible a través del navegador.

Tip: Si se tiene una integración con GIT y Jenkins se ha puesto como una instalación de plataforma (al menos con Mac OS), se puede producir un fallo constante a la hora de intentar clonar un repositorio. Para solucionarlo habrá que poner como propietario de la carpeta y subcarpetas de Jenkins (para Mac OS /Users/Shared/Jenkins) el usuario del sistema desde el cual se ejecuta el servidor.

Flujo de trabajo básico

Tras haber instalado y configurado Jenkins, habrá que plantearse las etapas a automatizar. Un workflow sencillo para una aplicación móvil podría ser:

  • Coger los últimos cambios del repositorio GIT deseado
  • Ejecutar las tareas de construcción de la aplicación
  • Ejecutar los distintos tests que posea la aplicación
  • Empaquetar la aplicación y generar los artefactos correspondientes (APK/IPA)
  • Hacer un backup de la última versión existente de la aplicación en un FTP
  • Subir la nueva versión de la aplicación al FTP

Cada una de estas etapas se puede realizar de distintas formas, desde comandos Shell directamente, hasta un plugin específico (si existe) para la funcionalidad deseada. En el caso de las aplicaciones móviles híbridas se hace mucho uso de los comandos Shell ya que se tienen diversas capas de abstracción para cada aplicación. Además, puede darse el caso de que el plugin a utilizar para una funcionalidad no ofrezca todo lo requerido. Por ejemplo: el plugin de FTP no ofrece la posibilidad de subir varios archivos a rutas de destino distintas.

Jobs VS Pipelines

A la hora de automatizar un proyecto, existen dos alternativas principales: Jobs (trabajos) o pipelines (tuberías), aunque se suelan emplear mezclas de las dos. Antiguamente el uso de Jobs era “obligatorio” puesto que no existían los pipelines, y con ello existía una cadencia en cuanto a una automatización lista para entornos de producción.

La ejecución lineal de un job no contempla los casos condicionales que pueden ocurrir en un flujo de tareas típico de producción, donde quizás haya que hacer rollback de alguna etapa si esta falla y no simplemente dar el job como erróneo y notificar al encargado.

Para solventar este problema surgen los pipelines (a pesar de que ya existían una serie de plugins para complementar a los Jobs y ofrecer funcionalidad similar a ésta), los cuáles permiten la ejecución de Jobs como parte de sus tareas, así como de ofrecer una distinción por etapas muy agradable visualmente para ver en cualquier momento rápidamente cual es la etapa que está produciendo problemas.

Plugins recomendados

En Hiberus Mobile queremos destacar algunos de los plugins que utilizamos a la hora de automatizar la generación de artefactos para aplicaciones móviles:

  • Convert to Pipeline: Permite convertir un job a un pipeline de manera sencilla. Muy útil cuando se empieza probando un proyecto como job y se quiere convertir a pipeline.
  • Xcode Plugin: Permite generar IPAs de aplicaciones iOS, firmarlas, etc.
  • Slack Plugin:  Permite integrar las notificaciones en canales de Slack (ChatOps).

 

¿Quieres utilizar Jenkins para la automatización de tareas? ¿Te han resultado útiles los plugins que hemos recomendado? Déjanos un comentario. 

¿Quieres más información sobre nuestros servicios de desarrollo de aplicaciones móviles?

Contacta con nuestro equipo de Mobile

    3 posts

    Sobre el autor
    Full-stack Developer en Hiberus Digital.
    Artículos
    Artículos relacionados

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    ¡No te pierdas de nada!

    Te mantenemos al dia de tendencias y novedades sobre el futuro del trabajo, formas de hacer crecer tu negocio, liderazgo digital y muchas cosas más..

    Newsletter