¿Todavía no has oído hablar de DevOps?

¿Todavía no has oído hablar de DevOps? No te preocupes, estas de suerte, ya que nuestro equipo de especialistas hizo el pasado jueves 30 de marzo un meet up sobre la materia. El evento contó con la intervención de 3 de nuestros encargados de DevOps en la compañía: Adrià González Fernández, Rubén Castro Silva y Rubén Marrero Guerra.

¿A qué estás esperando para aprender sobre DevOps? Presiona sobre el enlace y disfruta del Meet Up completo.

Vídeo aquí

 

 

¡ALERTA SPOILER! A continuación te dejamos los tips más importantes del evento.

Objetivo

Descubrir y familiarizarse con el concepto de DevOps, su cultura, herramientas y operaciones.

¿Qué es DevOps?

DevOps, son todas aquellas operaciones que ayudan o facilitan el ciclo de vida del software.

Por lo que es el proceso de mejora a través de ciclos de lanzamientos rápidos(agile) y la automatización de los procesos de integración, inspección y entrega, con el objetivo de hacer mejor y más rápido el ciclo de vida de desarrollo de software para poder conseguir una entrega continua de mayor calidad y más eficiente

Interrelación Agile DevOps:

Aunque sean dos conceptos diferentes, Agile y DevOps se fusionan para lograr un objetivo común. Mejorar la calidad durante el desarrollo del software.

Por lo que, se pueden ejecutar de forma conjunta y así establecer una base que permita realizar la entrega de valor continuo a través de la automatización de las tareas y procesos presentes durante el proceso de software.

Cultura del desarrollo:

Crear una cultura de DevOps es todo un reto, por lo que se debe tener experiencia previa. La recompensa de establecer esta base es enorme: el aumento de la satisfacción de desarrolladores y clientes.

Una vez el equipo pone en práctica las buenas prácticas de desarrollo y la misma metodología de trabajo conseguimos múltiples beneficios:

  • Autonomía en los equipos de trabajo
  • Automatización en los procesos
  • Responsabilidades compartidas

Política y gestión de Ramas:

Gitflow es realmente sólo una idea abstracta de un flujo de trabajo de Git. Esto significa que dicta qué tipo de ramas establecer y cómo fusionarlas.

Toda la política de ramas y buenas prácticas son directrices que deben de adaptarse para el mejor funcionamiento del equipo del proyecto y pueden ser modificadas acorde a lo que se vea más adecuado.

Nuestra recomendación sobre la gestión de ramas es la siguiente:

- Ramas Principales:

  • Main: La rama principal donde se almacena todo el código de producción. Siempre debe ser estable y contener toda la historia del proyecto.
  • Develop: En develop solo estará el código de la siguiente versión planificada. Nunca se debe trabajar sobre develop.

- Ramas secundarias:

  • Feature: Se crea a partir de develop cuando una nueva característica necesita ser desarrollada. Al finalizar el desarrollo se hace Merge Request a develop nuevamente.
  • Release: Es una bifurcación de develop que contiene una o varias funciones. Se usa cuando las funciones se completan y finalizan para una versión versionada.
  • Hotfix: Se crea una rama de hotfix solo si los usuarios finales encuentran un error en producción con la nueva versión. Los hotfix son errores no planificados.
Política y gestión de ramas

Herramientas & Operaciones de DEVOPS

Integración Continua - GitLab:

GitLab es nuestra herramienta de almacenamiento y gestión de repositorios de nuestros proyectos.

Desde esta herramienta, trabajamos toda la política de ramas y Gitflow comentados en la parte de Cultura del Desarrollo. Nos ayuda a gestionar toda la integración de código dentro del equipo.

Inspección Continua - Sonar:

Es una plataforma de código abierto para la inspección continua de la calidad del código a través de diferentes herramientas de análisis estático de código fuente.

Proporciona métricas que ayudan a mejorar la calidad de código de un programa permitiendo a los equipos de desarrollo hacer seguimiento y detectar errores y vulnerabilidades de seguridad para mantener el código limpio.

Es una herramienta esencial para la fase de testing y auditoría de código dentro del ciclo de desarrollo de una aplicación y se considera perfecta para guiar a los equipos de desarrollo durante las revisiones de código.

Despliegue Continuo - Bitrise:

Es una plataforma en cloud que nos provee de todas las herramientas necesarias para la integración, inspección y entrega continua con un enfoque para el desarrollo de aplicaciones móviles.

Dispone de una membresía gratuita con limitación en su uso y de pago, que su cuota difiere en función de los créditos que vayamos a consumir y por tanto contratar.

¿Por qué Bitrise?

Bitrise es una plataforma ad hoc para desarrollo del canal móvil más rápido, mejor y más eficiente, con características avanzadas que permiten el ahorro de tiempo en configuraciones y de dinero en coste de hardware, así como facilitan y agilidad en la implementación del CI/CD, flexible y escalable.

  • Low code o no code.
  • Compatible con cualquier servicio de control de versiones basado en Git, Sonar y herramientas de QA como Appium, entre otras.
  • Más de 350 integraciones disponibles. Altamente escalable.
  • Notificaciones a más de 50 herramientas: Slack, Teams, Jira, sms, email, Telegram, entre otras.
  • Configuración de archivos YAML y JSON.
  • Herramienta Insights (se describe más adelante).
  • Disponibilidad de despliegue de los artefactos generados a, Play Store, App store, App Delivery, Amazon Device Farm, Firebase.
  • Taggeo de versiones.
  • Firmado de versiones.
  • Automatización de certificados en iOS.
  • Generación versiones en función del target o saltarse la automatización en función de lo etiquetado en los commits. Eemplo: [ci skip], [PRE], [PRO], [UAT].

Ejemplo de Bitrise en la inspección continua

Ejemplo de Bitrise en el despliegue continuo

Tags

He leído y acepto la política de privacidad
Acepto recibir emails sobre actividades de recruiting NTT DATA