11.10. Configuración de una canalización de integración continua (CI): almacenamiento de artefactos

La práctica de la Integración Continua (CI) es fundamental en el mundo DevOps, permitiendo a los equipos de desarrollo integrar su trabajo con frecuencia y detectar problemas tempranamente. Un componente vital en este proceso es el almacenamiento de artefactos, que garantiza que los archivos binarios, bibliotecas y aplicaciones se almacenen de forma segura y eficiente. En esta sección, exploraremos cómo configurar una canalización de CI que incluya el almacenamiento de artefactos.

¿Qué son los artefactos?

En DevOps, un artefacto es cualquier archivo que se genera como resultado del proceso de compilación del software. Esto incluye ejecutables, bibliotecas, paquetes, imágenes de contenedores, scripts de bases de datos, documentación y más. El almacenamiento adecuado de estos artefactos es esencial para garantizar que se puedan recuperar y utilizar en todos los entornos de manera consistente.

¿Por qué almacenar artefactos?

Almacenar artefactos le permite:

  • Control de versiones y trazabilidad: mantiene un historial de todas las versiones de los artefactos, lo que permite retroceder a versiones anteriores si es necesario.
  • Compartir: facilita el intercambio de artefactos entre diferentes equipos y fases del proceso de entrega.
  • Optimización: Evita la reconstrucción de artefactos idénticos, ahorrando tiempo y recursos.
  • Coherencia: garantiza que se utilice el mismo artefacto durante todo el proceso de entrega, desde la integración hasta la producción.

Elegir un sistema de almacenamiento de artefactos

Existen varias opciones para sistemas de almacenamiento de artefactos, cada una con sus propias características y beneficios. Algunos de los más populares incluyen:

  • Artefacto JFrog
  • Administrador del repositorio Nexus
  • Paquetes de GitHub
  • Registro de paquetes GitLab
  • Artefactos azules
  • Amazon S3 (para artefactos más simples)

La elección depende de las necesidades específicas de su equipo, su presupuesto, su infraestructura existente y sus preferencias de herramientas. Es importante seleccionar un sistema que admita los formatos de artefactos que utilizará y que se integre bien con las otras herramientas de su proceso de CI/CD.

Integración del almacenamiento de artefactos en la canalización de CI

La integración del almacenamiento de artefactos en una canalización de CI normalmente sigue los siguientes pasos:

  1. Construcción: El código fuente se compila o empaqueta, generando artefactos.
  2. Pruebas: los artefactos se prueban para garantizar la calidad.
  3. Almacenamiento: los artefactos aprobados se publican en el sistema de almacenamiento de artefactos.
  4. Control de versiones: los artefactos tienen versiones, generalmente según el número de compilación o una etiqueta de versión.

Para realizar esta integración necesitarás:

  • Configurar el sistema de almacenamiento de artefactos.
  • Modifique los scripts de compilación para publicar artefactos después de una compilación exitosa.
  • Configure las credenciales de acceso para el sistema de almacenamiento de artefactos en el servidor CI.

Ejemplo práctico: configuración del almacenamiento de artefactos con JFrog Artifactory y Jenkins

Consideremos un escenario en el que utilizamos Jenkins como servidor de CI y JFrog Artifactory como sistema de almacenamiento de artefactos.

  1. Instalación y configuración de JFrog Artifactory: Primero, instale y configure Artifactory de acuerdo con la documentación oficial. Crea un repositorio para tus artefactos.
  2. Instalación del complemento Artifactory en Jenkins: Instale el complemento Artifactory en Jenkins para una integración más sencilla.
  3. Configuración del trabajo de Jenkins: cree un nuevo trabajo de Jenkins para su proyecto. En la sección de configuración del trabajo, agregue los pasos de compilación y publique los artefactos en Artifactory usando el complemento instalado.
  4. Autenticación: configure las credenciales de acceso a Artifactory dentro de Jenkins para permitir la publicación de artefactos.
  5. Compilación y pruebas: Configure el trabajo para realizar la compilación y ejecutar las pruebas necesarias.
  6. Publicación de artefactos: después de una compilación exitosa y de pasar las pruebas, los artefactos se publican en Artifactory con el número de compilación o la etiqueta de versión.

Con esta configuración, cada vez que se realiza una confirmación en el repositorio de código fuente, Jenkins inicia una nueva compilación, prueba los artefactos y, si todo es correcto, los publica en Artifactory.

Buenas prácticas en el almacenamiento de artefactos

Algunas prácticas recomendadas para almacenar artefactos incluyen:

  • Automatizar tanto como sea posible: AAutomatiza la publicación de artefactos para evitar errores humanos.
  • Limpiar artefactos antiguos: configure políticas para limpiar artefactos antiguos que ya no son necesarios, liberando espacio de almacenamiento.
  • Seguridad: asegúrese de que los artefactos estén seguros implementando controles de acceso y siguiendo las mejores prácticas de seguridad.
  • Monitoreo: supervise el sistema de almacenamiento de artefactos para detectar problemas de disponibilidad o rendimiento.

En resumen, almacenar artefactos es un paso crítico en el proceso de CI que ayuda a garantizar la eficiencia y confiabilidad del proceso de entrega de software. Elegir la herramienta adecuada y seguir las mejores prácticas garantizará que su canal de CI sea sólido y escalable.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el propósito de almacenar artefactos en una canalización de Integración Continua (CI) como se describe en el texto?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Configuración de una canalización de integración continua (CI): notificaciones de compilación

Siguiente página del libro electrónico gratuito:

22Configuración de una canalización de integración continua (CI): notificaciones de compilación

4 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.