Estoy tratando de asignar el hash de confirmación de git a una variable definida en la canalización de Jenkins de la siguiente manera
GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"
Esto imprimirá el hash de confirmación en el registro de compilación de Jenkins, pero no puede asignar el valor.
Cuando trato de imprimir el valor usando
steps{
script {
GIT_COMMIT_HASH = sh "(git log -n 1 --pretty=format:'%H')"
echo "**************************************************"
echo "${GIT_COMMIT_HASH}"
echo "**************************************************"
}
}
Esto resultará nulo
¿Cómo puedo asignar el valor?
-
No va a funcionar Recibo un error sh: Error de sintaxis: palabra inesperada (esperando “)”)
– 0x12
21 de septiembre de 2017 a las 0:43
-
Debes tener algo escrito incorrectamente. Supongo que te saltaste una coma.
– Rob Hales
21 de septiembre de 2017 a las 1:19
-
Ups. Olvidé la etiqueta de la primera variable. Creo que es “guión”. Arreglado arriba.
– Rob Hales
21 de septiembre de 2017 a las 2:02
-
Acabo de validar esto con algunos de mis scripts. Esta es la sintaxis correcta ahora. Lo siento, debería ser más cuidadoso con mi edición de copiar y pegar.
– Rob Hales
21 de septiembre de 2017 a las 4:40
-
git rev-parse HEAD
es una forma más rápida de hacer esto– Rossiar
10 de diciembre de 2019 a las 12:55
-
Para el votante negativo: lo siento, tal vez no proporcioné suficientes antecedentes antes. Editado. ¿Puedes volver a revisar por favor?
– Greg Dubicki
2 de febrero de 2022 a las 21:54
-
siempre es mejor comparar la fecha solicitada
– 0x12
4 de febrero de 2022 a las 1:07
-
¿Compararlo con qué, @co2f2e? No entiendo tu punto. De todos modos, ¿me estoy perdiendo alguna razón por la que nadie sugiere una variable integrada?
– Greg Dubicki
6 de febrero de 2022 a las 7:51
-
¡impresionante! Estúpido Jenkins ocultando esta información en stack-overflow. TeamCity convierte esta información en un resultado de primera clase de la compilación.
– CJ
26 mayo 2022 a las 19:02