Automatizar las infraestructuras de desarrollo de aplicaciones con GitLab y Relution

De lo que se trata

Cuando trabajas en una empresa o agencia más grande que desarrolla y envía muchas aplicaciones, el proceso de lanzamiento puede llevar mucho tiempo. En tal escenario, mucha gente está involucrada como el departamento de IT, el dueño de la aplicación, los probadores y por supuesto los propios desarrolladores. Además, todas estas personas utilizan diferentes herramientas para el desarrollo, las pruebas y la distribución, lo que lleva a una fragmentación de la infraestructura de TI y a la dispersión de las credenciales en todas estas herramientas. Otra cosa importante a tener en cuenta es la responsabilidad de estas herramientas y la infraestructura que rara vez está clara. Como desarrollador, por ejemplo, no quiero ser responsable de la gestión de los repositorios de código fuente y de la infraestructura de integración continua. Como responsable de la infraestructura de TI, no quiero ocuparme de los problemas en el código de la aplicación empresarial y de cómo se construye la aplicación con la herramienta CI. Mientras que la demanda de entrega rápida está creciendo, ¿por qué no hay una infraestructura que pueda resolver estos problemas de una vez por todas? Anticipémonos - ¡hay una solución!

La combinación del repositorio líder de Git y la herramienta de integración continua que existe - GitLab y Relution, la única herramienta completa de gestión del ciclo de vida de las aplicaciones, resuelve estos problemas.

Todo el proceso de lanzamiento de aplicaciones, desde la creación de nuevos proyectos de aplicaciones y la infraestructura necesaria hasta el envío de aplicaciones a su empresa o a las tiendas públicas de aplicaciones, puede simplificarse y automatizarse.

Ricos en características, abiertos y ampliamente utilizados

No hay necesidad de probar que el uso de repositorios de código y herramientas continuas de CI/CD (Wikipedia) ayudar a los equipos de desarrollo en los proyectos de software. GitLab es uno de los tres grandes actores que existen (junto con GitHub y BitBucket) y encuentra un gran uso, especialmente en empresas y agencias (según el sitio web de GitLab, es utilizado por más de 100.000 organizaciones). Tiene un rico conjunto de características que cubre todo el ciclo de vida del desarrollo y una enorme comunidad junto con muchas posibilidades de extensiones y posibilidades de scripting. Una de las grandes cosas de GitLab es la combinación de los repositorios de Git y los trabajos de construcción de entregas continuas. Los desarrolladores pueden revisar su código, definir un archivo llamado .yml que tiene todos los comandos para compilar, construir y liberar una aplicación y el mecanismo integrado de entrega continua construye la aplicación automáticamente en cada nueva confirmación.

Gestión de aplicaciones de la A a la Z

Relution es una herramienta de gestión del ciclo de vida de las aplicaciones móviles que tiene un ángulo específico en los proyectos de aplicaciones en general. Soporta el ciclo de vida de las diferentes versiones de la aplicación y proporciona una infraestructura para la gestión de la aplicación. Después de que una aplicación ha sido cargada en Relution (por supuesto, este paso puede ser automatizado), permite a los propietarios de la aplicación liberarla en diferentes etapas. Se pueden definir permisos para los desarrolladores, probadores y propietarios de la aplicación, para que la aplicación pueda ser revisada en diferentes etapas. Además, Relution puede gestionar metadatos de aplicaciones como descripciones y capturas de pantalla y también volver a firmar automáticamente las aplicaciones. Esto, especialmente, ayuda a las empresas con muchas agencias de aplicaciones externas a no extender sus credenciales de firma a personas ajenas a la empresa y garantiza que cada aplicación se vuelva a firmar correctamente con los certificados de empresa elegidos. La Relution también permite a las empresas beneficiarse de una tienda de aplicaciones propia que se utiliza para las aplicaciones de la empresa. Esta característica se utiliza principalmente para las aplicaciones de la empresa que no deben ser distribuidas a través de las tiendas de aplicaciones públicas - como aplicaciones internas, aplicaciones de CRM u otros flujos de trabajo de la empresa.

¡La combinación es la solución!

Volviendo al problema descrito en la introducción, queremos mostrarles una solución que consiste en una configuración de ambas herramientas. Así es como un flujo de trabajo podría verse en la realidad:

  1. Alice es la jefa de ventas de la empresa X. Tiene la idea de una nueva aplicación que acelera los flujos de trabajo de ventas para los miembros de su equipo. Después de unas cuantas reuniones y mucho trabajo, ella sabe lo que necesita. Es responsable de la nueva aplicación, así que tiene el papel de "propietaria de la aplicación". Entra en su cuenta de Relution y solicita un nuevo "entorno de desarrollo" - CLICK
  2. Bob es un empleado de IT, responsable de la infraestructura móvil y recibe un correo electrónico que dice "Alice ha solicitado un entorno de desarrollo para una nueva aplicación - ¡Por favor, apruébelo!". Así que lo hace - CLICK.
  3. Mientras tanto, Alice, la dueña de la aplicación, encontró una agencia de aplicaciones externa que va a desarrollar la aplicación porque sabe que la TI interna no tiene recursos de desarrollo. Ella invita a los desarrolladores al "entorno de desarrollo" aprobado - CLICK.
  4. Carl y Carol, los desarrolladores de la aplicación, reciben un correo electrónico acerca de dónde se encuentra su repositorio Git y el trabajo de construcción y cómo configurarlo. Comienzan a desarrollar la aplicación - HACK HACK HACK.
  5. De repente Alice recibe un mensaje "Tu aplicación puede ser revisada" de la aplicación Relution Enterprise App Store en su teléfono - CLICK.
  6. Alice se sorprende de lo rápido que ha sucedido, comprueba la aplicación, se alegra y pulsa el botón de 'liberar' en su aplicación Relution.
  7. A partir de este momento, la aplicación se distribuye a todo el equipo de ventas y el aumento de la eficiencia se produce de inmediato. ¿Qué te parece este flujo de trabajo? Ciertamente tienes preguntas, ¿verdad?

Donde ocurre la "magia" - actividades de fondo

Relution utiliza un montón de grandes características de GitLabs en el fondo. Si un entorno de desarrollo es aprobado por el departamento de IT, se crea un nuevo repositorio de proyectos. Está prellenado con dos archivos importantes: el archivo .yml y un script de subida. El archivo .yml se utiliza para configurar un trabajo de construcción y el script de carga se utiliza para subir los artefactos de la aplicación de construcción a Relution para su posterior procesamiento. Además, los permisos de los desarrolladores se establecen automáticamente en el servidor de GitLab en el repositorio, de modo que los desarrolladores definidos pueden usar su clave SSH para trabajar con el repositorio. GitLab puede (pero no tiene por qué) permanecer en segundo plano ya que los desarrolladores pueden definir sus parámetros de construcción en el archivo .yml. Las aplicaciones construidas pueden ser distribuidas a los desarrolladores a través de la aplicación Relution (así, de hecho, el desarrollador confirma algo, y después de un tiempo, recibe la aplicación construida en su dispositivo móvil para probarla). Por supuesto, los desarrolladores necesitan subir su clave pública de SSH a Relution antes de clonar el repositorio. Por defecto, una nueva construcción en el servidor de Integración Continua se dispara cuando un desarrollador empuja los cambios a la rama maestra. Los artefactos de construcción (aplicaciones) creados por una construcción exitosa serán subidos a Relution y están enlazados al correspondiente Entorno de Desarrollo. Las aplicaciones cargadas son visibles en la vista de la App Store o a través del Centro de Desarrollo seleccionando el Entorno de Desarrollo apropiado en el Portal de Relution.

Beneficios para el negocio

  • - Ahorre al menos una semana por cada nuevo proyecto de aplicación para solicitar y configurar un entorno de desarrollo (repositorio de código fuente y trabajo de construcción)
  • - Obtener una primera versión de trabajo de una nueva aplicación más rápido en el campo
  • - Consiga que las nuevas versiones se prueben y estén listas para su producción más rápido que nunca con el flujo de trabajo de revisión automatizado
  • - No se trata de temas de infraestructura informática, los propietarios de las aplicaciones no saben nada...
  • - Una posibilidad fácil de instalar, revisar y lanzar aplicaciones desde un teléfono móvil

Beneficios de IT

>
  • - Infraestructura unificada de desarrollo de proyectos de aplicaciones
  • - No hay que ocuparse de nuevas herramientas y configuraciones para cada nuevo proyecto de aplicación
  • - Un proceso simple y organizado para cada desarrollador, propietario de la aplicación, probador y usuario
  • - Manténgase informado sobre las nuevas solicitudes de aplicaciones y entornos de desarrollo

Beneficios para el desarrollador

  • - Repositorio de Git preparado y trabajo de IC - no se necesita ninguna configuración
  • - Configuración de trabajo fácil de construir en un archivo .yml
  • - Fácil de probar a través de la aplicación Relution enterprise app store
  • - Mecanismo de liberación rápida del estado "desarrollo" a "revisión".

Requisitos

Gestión de dispositivos móviles y aplicaciones con Relution

Gratis para hasta 5 dispositivos y 5 aplicaciones para siempre. No se requiere información de pago.