El comando de búsqueda falla en jenkins, pero no en la terminal

El comando de búsqueda falla en jenkins, pero no en la terminal

Quiero exportar todos los cuadros de muchos archivos de video, automáticamente en un trabajo de compilación de jenkins usando ffmpeg.

Este script funciona bien cuando ingreso al esclavo y lo ejecuto en la misma carpeta:

find . -name "*.mp4" -exec ffmpeg -i {} -qscale:v 1 -vf fps=6 {}_exportedFrame_%d.jpg \;

Debería encontrar todos los archivos mp4 y ejecutar ffmpeg en ellos.

Falla con este mensaje cuando jenkins lo está ejecutando (ejecute el complemento de shell):

08:51:32 find: ffmpeg: No such file or directory
08:51:32 find: ffmpeg: No such file or directory
08:51:32 find: ffmpeg: No such file or directory
08:51:32 find: ffmpeg: No such file or directory
...many more lines of the same error

Salida desde la terminal (está funcionando bien):

bash-3.2$ find . -name "*.mp4" -exec ffmpeg -i {} -qscale:v 1 -vf fps=6 {}_exportedFrame_%d.jpg \;
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
...

Build Slave ejecuta la última versión de Mac OS. ffmpeg está instalado.

editar: agregué ffmpeg al archivo de rutas

bash-3.2$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin/ffmpeg
bash-3.2$ type ffmpeg
ffmpeg is /usr/local/bin/ffmpeg

Sigo recibiendo el mismo error.

Respuesta1

Probablemente ffmpegno esté en el PATHtrabajo de Jenkins.

Ejecute type ffmpegen su terminal para ver dónde ffmpegse encuentra y echo $PATHen su trabajo de jenkins y compare.

información relacionada