Digital

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

3 Mins de lectura

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. 

3 posts

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

Multicanalidad : Desarrollos para dispositivos móviles

Hiberus Mobile es nuestro departamento específico dedicado al desarrollo de aplicaciones para dispositivos móviles y soluciones omnicanal.

Hiberus cuenta con probada experiencia en el desarrollo de soluciones adaptadas a dispositivos móviles, que favorecen la accesibilidad y posibilitan la creación de nuevos modelos de negocio.

¿Te ayudamos?

Artículos relacionados
Digital

Como medir la experiencia de usuario. Métricas indispensables

4 Mins de lectura
¿Sabes cómo medir la experiencia de usuario para obtener información fiable? Existen una serie de métricas orientadas a la experiencia de usuario…
Digital

Spartacus para reducir la carga de peticiones a servidores

5 Mins de lectura
SAP Commerce Cloud y Spartacus ofrecen numerosas ventajas frente a otras tecnologías en el desarrollo de frontales desacoplados basados en Angular. SAP…
DigitalSistemas

Liferay Experience Cloud: por qué migrar tu plataforma

4 Mins de lectura
Sabemos que la aceleración de la transformación digital está facilitando que el Cloud Computing adquiera mayor relevancia día a día. Según los…

Deja una respuesta

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