O comando find falha no Jenkins, mas não no terminal

O comando find falha no Jenkins, mas não no terminal

Quero exportar todos os quadros de vários arquivos de vídeo, automaticamente em um trabalho de construção do Jenkins usando ffmpeg.

Este script está funcionando bem quando eu ssh no escravo e o executo na mesma pasta:

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

Ele deve encontrar todos os arquivos mp4 e executar o ffmpeg neles.

Ele falha com esta mensagem quando Jenkins está executando (execute o plugin do 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

Saída do terminal (está funcionando bem):

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
...

O Build Slave está executando a versão mais recente do Mac OS. ffmpeg está instalado.

editar: adicionei ffmpeg ao arquivo de caminhos

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

Ainda estou recebendo o mesmo erro.

Responder1

Provavelmente ffmpegnão está no PATHtrabalho de Jenkins.

Execute type ffmpegno seu terminal para ver onde ffmpegestá localizado e echo $PATHno seu trabalho do Jenkins e compare.

informação relacionada