Para reducir la duplicación de esfuerzos en mis contenedores acoplables, me gustaría ejecutar los pasos de canalización tanto en un contenedor acoplable como con las instalaciones de la herramienta Jenkins disponibles.
Este intento ingenuo no funciona: no se encuentra npm
pipeline { agent { dockerfile true } tools { nodejs 'LTS' } stages { stage('NPM') { steps { sh 'npm install-ci-test' } } } }es posible?
Puede hacer que esté disponible cuando configure el contenedor docker montando la carpeta Jenkins en el agente de compilación.
pipeline { agent { docker { .... // Make tools folder available in docker (some slaves use mnt while other uses storage) args '-v /mnt/Jenkins_MCU:/mnt/Jenkins_MCU -v /storage/Jenkins_MCU:/storage/Jenkins_MCU' ... } .... stage(...){ environment { myToolHome = tool 'MyTool' } steps { ... sh "${myToolHome}/path/to/binary arguments" ....No estoy seguro de cómo obtener la ruta de la ubicación de jenkins en el agente de compilación, por lo que en este ejemplo está codificado. Pero hace que la herramienta esté disponible en la imagen de la ventana acoplable.