En entornos de CI, las credenciales de automation-arqc nunca se almacenan en archivosDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Giofelix/Proyecto-automatizacion-Empresa/llms.txt
Use this file to discover all available pages before exploring further.
.env ni en ningún otro fichero del repositorio. En su lugar, el pipeline las inyecta en tiempo de ejecución desde el almacén seguro de credenciales de Jenkins mediante withCredentials([...]). Esto aplica tanto al Modo Libre como al Modo Despliegue — en ambos casos las variables de entorno USER_GENERIC y PASSWORD_UNIVERSAL llegan al proceso de Playwright sin exponerse en los logs ni en el workspace.
Credenciales requeridas
Las siguientes credenciales deben existir en Jenkins. Las dos primeras son obligatorias siempre; las de entidad son opcionales y se usan cuando existen credenciales específicas para una entidad concreta.| Credential ID | Variable de entorno | Uso |
|---|---|---|
USER_GENERIC | USER_GENERIC | Usuario genérico (fallback para todas las entidades) |
PASSWORD_UNIVERSAL | PASSWORD_UNIVERSAL | Contraseña genérica (fallback para todas las entidades) |
<ENTIDAD>_USER | USER_GENERIC | Usuario específico por entidad (opcional) |
<ENTIDAD>_PASS | PASSWORD_UNIVERSAL | Contraseña específica por entidad (opcional) |
.env local para que Playwright no necesite saber si está corriendo en CI o en local.
Credenciales por entidad
En el Modo Despliegue, el pipeline puede utilizar credenciales diferentes para cada entidad mediante la funciónresolveCredentialIds(). El mecanismo funciona así:
- Toma el nombre de la entidad y lo convierte a mayúsculas (ej:
pasto→PASTO). - Construye los IDs de credencial específicos:
PASTO_USERyPASTO_PASS. - Intenta resolver esas credenciales ejecutando un comando trivial (
sh 'true') dentro de un bloquewithCredentials. Si Jenkins puede inyectarlas sin error, existen. - Si las credenciales específicas existen → las usa para esa entidad.
- Si no existen (lanza una excepción) → hace fallback a
USER_GENERIC/PASSWORD_UNIVERSAL.
pasto:
- Busca
PASTO_USERyPASTO_PASSen el almacén de Jenkins. - Si existen → el bloque
withCredentialsde ejecución los inyecta comoUSER_GENERICyPASSWORD_UNIVERSAL. - Si no existen → usa las credenciales genéricas
USER_GENERIC/PASSWORD_UNIVERSAL.
all_entities_together, como hay múltiples entidades, el pipeline usa directamente las credenciales genéricas sin intentar resolución específica.
Configurar credenciales en Jenkins
Acceder al almacén de credenciales
En la pantalla principal de Jenkins, ve a Manage Jenkins → Manage Credentials. Selecciona el dominio donde quieres almacenar las credenciales (normalmente
(global) bajo Jenkins).Agregar nueva credencial
Haz clic en Add Credentials. En el campo Kind selecciona Secret text. Deja Scope en
Global para que el pipeline del agente automatico_196 pueda accederla.Establecer el ID y el valor
En el campo ID escribe exactamente el nombre esperado por el pipeline:
USER_GENERICpara el usuario genéricoPASSWORD_UNIVERSALpara la contraseña genéricaPASTO_USER/PASTO_PASSpara credenciales específicas de la entidadpastoCAJICA_USER/CAJICA_PASSpara la entidadcajica, etc.
En desarrollo local, las credenciales provienen del archivo
.env en la raíz del proyecto. Copia .env.example a .env y rellena las variables USER_GENERIC y PASSWORD_UNIVERSAL con los valores reales de tu entorno de trabajo. El archivo .env está en .gitignore y nunca debe commitearse.