En un enfoque moderno de test data management, tratar los datos como código es esencial para reproducibilidad, cumplimiento normativo y velocidad en procesos de entrega continua. Sin embargo, muchos pipelines aún dependen de tareas manuales para aprovisionar datos, lo que introduce inconsistencias, cuellos de botella y pérdida de eficiencia.
Este artículo muestra cómo integrar Gigantics para automatizar completamente la gestión de datos de prueba. Verás ejemplos concretos de cómo aprovisionar, transformar y entregar datasets seguros desde herramientas como GitLab CI, Jenkins o GitHub Actions, asegurando entornos consistentes y preparados automáticamente en cada ejecución.
Flujo técnico de integración: tres pasos
1. Definir el dataset desde el código
El equipo define qué datos necesita en un archivo de configuración versionado, como data_config.yml. Este archivo incluye:
- Estructura del dataset
- Volumen de registros
- Reglas de transformación
- Integridad referencial entre tablas
dataset:
name: "project-x-dev"
schema:
tables:
- name: "users"
rows: 50
columns:
- name: "id"
type: "uuid"
- name: "full_name"
type: "string"
rule: "gigantics.masking.fullname"
- name: "orders"
rows: 100
columns:
- name: "order_id"
type: "uuid"
- name: "user_id"
type: "uuid"
foreign_key: "users.id"
Este archivo se almacena junto con el código de la aplicación, permitiendo versionar los datos de prueba igual que cualquier otro artefacto del sistema.
Además, Gigantics se conecta al origen de datos utilizando un tap seguro, lo que permite acceder a los esquemas reales de las bases de datos de origen para construir datasets ajustados a la estructura productiva y transformarlos mediante reglas definidas por el usuario.
2. Orquestar el aprovisionamiento desde el pipeline
El pipeline CI/CD debe incluir un paso previo a las pruebas funcionales para aprovisionar los datos automáticamente.
Ejemplo de gitlab-ci.yml:
stages:
- build
- test
- deploy
test_job:
stage: test
script:
- ./scripts/provision-data.sh
- pytest tests/functional_tests.py
El script provision-data.sh se encarga de invocar la API de Gigantics y preparar los datos.
3. Llamar a la API de Gigantics (cURL)
El siguiente script realiza una llamada HTTP POST a la API de Gigantics, enviando el archivo data_config.yml y usando la clave de autenticación.
#!/bin/bash
# Variables del entorno
GIGANTICS_API_KEY=$GIGANTICS_API_KEY
GIGANTICS_DATASET_ID="project-x-dev"
DB_CONNECTION_STRING=$DB_CONNECTION_STRING
# Llamada a la API
curl --request POST \
--url https://api.gigantics.io/v1/provision \
--header "Authorization: Bearer ${GIGANTICS_API_KEY}" \
--header "Content-Type: application/json" \
--data-binary "@data_config.yml" \
--output provisioning_log.json
# Verifica si la provisión fue exitosa
if [[ $(jq -r .status provisioning_log.json) == "SUCCESS" ]]; then
echo "Data provisioned successfully. Running tests..."
else
echo "Data provisioning failed."
exit 1
fi
Esta llamada inicia automáticamente el flujo completo de aprovisionamiento: analiza el archivo de configuración, aplica las transformaciones definidas y entrega el dataset directamente en la base de datos destino.
Beneficios técnicos de este enfoque
- Entornos de prueba consistentes y reproducibles: Cada ejecución parte de datos recién aprovisionados, eliminando contaminación entre pruebas y permitiendo debugging más efectivo.
- Seguridad integrada (by design): Las reglas de enmascaramiento y pseudonimización se aplican automáticamente desde el archivo data_config.yml, sin intervención manual.
- Velocidad y eficiencia: Se eliminan tareas manuales de preparación de entornos, lo que reduce tiempos de ciclo y acelera el feedback.
- Flexibilidad tecnológica: Gigantics se integra mediante HTTP POST, por lo que es agnóstico a la herramienta de CI/CD utilizada.
- Tratamiento de datos como código: La configuración es versionada y auditable, lo que facilita cumplimiento normativo y colaboración entre QA y DevOps.
- Acceso seguro a datos reales: La integración con TAP permite extraer estructuras reales de producción para transformarlas automáticamente según criterios técnicos y normativos.
Conclusión
Automatizar los datos de prueba dentro del pipeline es clave para desbloquear todo el potencial de CI/CD. Gigantics permite orquestar el aprovisionamiento, transformación y entrega de datos mediante una API REST, directamente desde tu flujo DevOps. Esto habilita entornos de prueba seguros, consistentes y rápidos, alineando calidad, seguridad y velocidad sin compromisos.