Jenkins에서는 find 명령이 실패하지만 터미널에서는 실패합니다.

Jenkins에서는 find 명령이 실패하지만 터미널에서는 실패합니다.

ffmpeg를 사용하여 jenkins 빌드 작업에서 자동으로 많은 비디오 파일의 모든 프레임을 내보내고 싶습니다.

이 스크립트는 슬레이브로 SSH를 통해 실행하고 동일한 폴더에서 실행하면 정상적으로 실행됩니다.

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

모든 mp4 파일을 찾아 ffmpeg를 실행해야 합니다.

Jenkins가 실행 중일 때 다음 메시지와 함께 실패합니다(셸 플러그인 실행).

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

터미널 출력(잘 실행 중):

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

빌드 슬레이브는 최신 버전의 Mac OS를 실행하고 있습니다. ffmpeg가 설치되었습니다.

편집: 경로 파일에 ffmpeg를 추가했습니다.

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

여전히 같은 오류가 발생합니다.

답변1

아마도 젠킨스 작업 ffmpeg에 있지 않을 것입니다 .PATH

type ffmpeg터미널에서 실행하여 Jenkins 작업의 ffmpeg위치를 ​​확인하고 비교하세요.echo $PATH

관련 정보