scripts script ejemplos shell jenkins jenkins-pipeline jenkins-cli

shell - scripts bash ejemplos



Cómo usar los parámetros de Jenkins en un script de shell (3)

Quiero usar los parámetros que definimos en el trabajo de Jenkins como argumentos para los comandos de shell en el mismo trabajo.

He creado una construcción parametrizada con los siguientes parámetros:

high.version: 234 low.version: 220

Quiero usar estas variables como argumentos para el script de shell de la compilación:

/bin/bash /hai/mycode/scripts/run_script.sh high.version

¿Cómo hago estos parámetros en el mismo trabajo?


¿Has probado esto?

echo "function hello() { " > gg.sh echo "echo /$1">> gg.sh echo "}" >> gg.sh echo "hello /$1" >> gg.sh chmod 777 gg.sh ./gg.sh $hello_version

Tenga cuidado con el nombre de la variable, el punto no está tan bien soportado, para detalles, puede refinar esto. https://issues.jenkins-ci.org/browse/JENKINS-7180


Jenkins creará variables de entorno con los nombres de los parámetros.

La advertencia aquí es que Jenkins también lo hará para los parámetros que no representan nombres de variables válidos, ya que son difíciles de acceder en bash . Este es el caso en su ejemplo, ya que los nombres de variables bash no deben contener el . personaje.

La solución más fácil es que tu

  • renombra tus parámetros , por ejemplo, a high_version y low_version (que son nombres de variables bash válidos)
  • luego use los nombres de las variables correspondientes al llamar a su script

Ejemplo:

/bin/bash /hai/mycode/scripts/run_script.sh "$high_version"

Si no puede cambiar el nombre de los parámetros para representar nombres de variables de bash válidos (p. Ej., Por razones de usabilidad: Jenkins presenta los nombres de las variables a los usuarios finales en el formulario web para iniciar una compilación): aún puede acceder a dichos parámetros al obtener el nombre del parámetro en la salida del comando env .