Я прочитал самый отсутствующий двоичный файл в Rake, который смог найти, но этот случай отличается, потому что он работает в моей среде разработчика, но не в Jenkins.
Я пытаюсь вызвать двоичный файл выборки, опубликованный gruntworks.(https://github.com/gruntwork-io/fetch)
следует отметить, что Rakefile корректно работает на машинах разработчиков, но я не могу заставить его работать, когда он вызывается на конвейере Jenkins через JenkinsFile.
У меня естьa Rakefile со следующим вызовом
sh "fetch --repo 'https://github.com/gruntwork-io/gruntkms' --tag 'v0.0.5' --release-asset='gruntkms_linux_amd64' _tools/"
Двоичный файл в вопросе: Существует правильная структура каталогов (полное содержимое отредактировано)
$ ls -al .
drwxrwxr-x 2 1000 1000 4096 Jan 29 10:37 _tools
$ ls -al _tools
lrwxrwxrwx 1 1000 1000 17 Jan 29 10:37 fetch -> fetch_linux_amd64
-rwxr-xr-x 1 1000 1000 7651536 Jan 29 10:16 fetch_linux_amd64
Путь правильно настроен на включение_tools directory.
export PATH='/home/qa/jenkins/workspace/RQ/_tools:/usr/local/bundle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
и все же я получаю следующую ошибку:
sh: fetch: not found
rake aborted!
Command failed with status (127): [fetch --repo 'https://github.com/gr...]
Даже когда я пытаюсь явно вызвать бинарную выборку (которая является ln), я все равно получаюсценарий не найден код ошибки (127)
_tools/fetch --repo 'https://github.com/gruntwork-io/gruntkms' --tag 'v0.0.5' --release-asset='gruntkms_linux_amd64' _tools/
sh: _tools/fetch: not found
rake aborted!
Command failed with status (127): [_tools/fetch --repo 'https://github.com/gr...]
Я также подтвердил, что проблема все еще существует с последней версией двоичного файла выборки (0.3.2). Я не думал, что этовопрос, но ради определенности я попробовал.