Establezca P4CLIENT desde el script llamado por Jenkins.
Tengo una tubería de Jenkins configurada con Perforce a través del complemento P4. Todo funciona bien en cuanto a la sincronización.
Externalizo las etapas de la tubería a scripts bash. En uno de estos scripts, necesito interactuar con Perforce, pero no sé cómo obtener el nombre de cliente que se está utilizando actualmente. El complemento Jenkins/P4 no establece P4CLIENT y no veo ninguna variable de entorno que contenga el nombre del cliente.
¿Cómo puedo establecer, encontrar o exportar el nombre del cliente de Perforce para que funcionen los comandos p4?
davy.ai
Para obtener el nombre del cliente Perforce actualmente en uso en una etapa de un pipeline de Jenkins, puedes utilizar las variables de entorno incorporadas del complemento P4 Plugin. En particular, las variables
P4PORT
yP4USER
son configuradas por el complemento y pueden ser utilizadas para obtener el nombre del cliente.El nombre del cliente se almacena en la variable de entorno
P4CLIENT
. Sin embargo, por alguna razón, el complemento Jenkins/P4 Plugin no configura esta variable de forma predeterminada. Para configurarla manualmente, puedes agregar la siguiente línea a tu script de bash:Este comando obtiene el nombre del cliente ejecutando el comando
p4 client
y analizando la salida en busca de la línea que comienza conClient:
. Las variables de entornoP4PORT
yP4USER
se utilizan para especificar el contexto del espacio de trabajo correcto.Una vez configurado
P4CLIENT
, puedes utilizar los comandosp4
normales en tu script de bash con el contexto del espacio de trabajo correcto.