Не удается запустить Jenkins Build - bundle: "команда не найдена"
В настоящее время я пытаюсь запустить сборник jenkins для некоторых моих задач огурца. Все мои драгоценные камни были установлены с помощью Bundler. Драгоценные камни хранятся в папке поставщика.
Однако, когда я пытаюсь запустить bundle install --deployment
на этапе сборки оболочки выполнения, я получаю следующую ошибку:
Started by user anonymous
Building in workspace /Users/Shared/Jenkins/Home/jobs/cukes/workspace
[workspace] $ /bin/sh -xe/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh
+ bundle install --deployment
/var/folders/zz/zyxvpxvq6csfxvn_n0000004000001/T/hudson4461284045505361460.sh: line 2: bundle: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Это сводит меня с ума! Он работает на моей локальной машине без проблем. Почему Дженкинс не видит мои драгоценные камни?
Любая помощь будет замечательной!
Cheers,
Джон
Ответы
Ответ 1
В зависимости от того, как вы установили Jenkins, он может работать как отдельный пользователь, обычно как пользователь jenkins
. Если вы установили bundle
в нестандартный каталог, который не находится в PATH по умолчанию, например /usr/local/bin
, вам необходимо:
- Добавьте
/usr/local/bin
в PATH пользователя jenkins (проверьте ~ jenkins/.bashrc) или
- Настроить переменную среды PATH в глобальной конфигурации Jenkins (или подчиненную конфигурацию при построении на подчиненном устройстве) или
- Измените конструкцию script, чтобы обратиться к
bundle
, используя полное имя пути.
Ответ 2
Если пакет установлен в /usr/local/bin/bundle
(определите это с помощью which bundle
), вы можете просто добавить символическую ссылку для пакета в /usr/bin
следующим образом:
ln -s /usr/local/bin/bundle /usr/bin/bundle
Ответ 3
Первое, что нужно проверить:
- Убедитесь, что
bundle
установлен на машине, где работает Jenkins.
- Если он установлен, убедитесь, что он находится на пути для пользователя, под которым работает Jenkins
(Чтобы проверить путь/среду: вставить шаг сборки оболочки, который запускается env
)
Ответ 4
Для меня я изначально установил его через файл war, как рекомендовано в руководстве по началу работы. Тем не менее, из руководства пользователя становится гораздо яснее, что, возможно, существуют более эффективные способы установки Jenkins.
В итоге я удалил WAR файл Jenkins на macOS:
- Удаление файла .war.
- Удаление каталога ~/.jenkins.
Затем я переустанавливал через home-brew, и bundle
начала работать.
Ответ 5
Вы можете увидеть, где находится bundle
, запустив which bundle
и запустив команду bundle
Ответ 6
В моем случае я добавил эту строку в первый скрипт:
#!/bin/bash -l