Jenkins DSL
Last updated
Was this helpful?
Last updated
Was this helpful?
DSl ( Domain Specific Lenguage), es una caracteristica que podemos utilizar en Jenkins para poder automatizar las acciones de Jenkins a la hora de manejar un proyecto de software, esta es una ventaja en el desarrollo y aplicacion de la integracion y despligues continuos ya que el desarrollador puede controlar con un archivo las fnciones de la ejecución de las tareas para ser realizadas cuando se defina su ejecucion en la plataforma en este caso Jenkins, DSL describe las funciones usando Groovy como lenguaje para los scripts, para usar dicha caractristica, instlamos el plugin "Job DSL" esto lo hacemos desde el gestor de plugins de Jenkins
creamos una nueva tarea configuramos, configuramos un reporistorio que contenga el script p scripts con las parametrizaciones que deseamos que se ejecuten. Definido el repositorio, en el area de "ejecutar", añadimos un nuevo paso y selecionamos la opcion "Process Job DSLs"
Al aparecer la zona de configuración pasamos la referencia de ruta de la carpeta o script en el repositorio con las instruciones del Job que deseamos que se ejecute
codigo del job
Para aprobar un script, vamos a la pagian principal de Jenkins y selecionamos configuraciones y la opcion "In-process Script Approval"
Aprobamos el script que deseamos que se ejecute
Vamos a agregar un nuevo script para poder construir y publicar el contenedor, este sera el código del job
En la misma tarea solo agregamos la referencia del script
En el script se define la siguiente linea de codigo
Esto le dice a jenkins que debe de utilizar de su catalogo de credenciales las que esten identificadas con el id "dockerhub", y a estas credenciales le asignamos los datos de login del repositorio del docker hub
Guardamos y Ejecutamos la tarea, pero obtendremos una ejecucion fallida, esto ocurre por que los scripts deben de darseles permisos de ejecución
Vamos a la tarea y damos a la opción de construir, en este caso ya nuestra tarea se ejecuta de manera exitosa
igual que en el caso anterior aprobamos el script para que se ejecute de forma correcta