2015-10-10 2 views
2

У меня есть сервер Jenkins, и у вас есть несколько сборок, которые все работают. Тем не менее, сегодня утром, когда я попытался добавить еще один он держал неудачу с ошибкой -Jenkins строит неудачу с отсутствующей ошибкой файла, даже если файл есть

[test.gov] $ /bin/sh -xe /tmp/hudson7055290339554583413.sh + ./opt/jenkins/build.sh /tmp/hudson7055290339554583413.sh: line 2: /opt/jenkins/build.sh: No such file or directory Build step 'Execute shell' marked build as failure

Сценарий оболочки на этом пути и имеет это имя. Если я это сделаю ./opt/jenkins/build.sh, он по-прежнему терпит неудачу с той же ошибкой. Команда, которая у меня есть в разделе «Execute Shell» в текстовом поле «Команда», - /opt/jenkins/build.sh. Я попробовал ./opt/jenkins/build.sh.

Сценарий находится в системе CentOS кстати.

Это сценарий я пытаюсь запустить -

echo "git pull" 
cd /var/www/path/for/my_website/docroot/ 
git checkout master 
git pull 


echo "change ownership to apache" 
chown -R apache:apache * 
echo "running drush commands" 
drush updb -y 
#drush fra -y 
drush cc all 
+0

Вы нашли реальное решение этой проблемы? Я сталкиваюсь с тем же. –

ответ

0

Иногда для вашего пути в команде оболочки, а «» может не работать. Вместо этого используйте макрокоманду для получения рабочей области.

Так, например:% WORKSPACE%/Opt/Jenkins/usda_gov_build.sh

Это даст командная оболочка точный путь к файлу в вашем рабочем пространстве рабочих мест.

+0

Является ли ваш сервер Jenkins Linux или Windows? Обычно я видел это только тогда, когда кто-то пытался запустить команду linux на сервере Windows. – duffycb89

+0

Linux. CentOS, я считаю. Если это полезно, другие задания на сервере имеют '/ opt/jenkins/deploy/bin/build2.sh' в текстовой области команды, хотя путь к их сценариям оболочки:'/opt/jenkins/deploy/бен/build2.sh'. – Proximus

+0

Следующее, что я хотел бы проверить, это то, что файл находится в пути, который вы ожидаете, проверяя рабочую область сборки после ее запуска. Иногда я видел путь, отличный от того, что я ожидал в других случаях, когда видел, что контроль источника не тянет в файл, который я ожидал – duffycb89

0

Часто ошибка «build.sh: No such file or directory» на самом деле означает, что строка shebang в пределах build.sh не указывает на исполняемый файл. Проверьте содержимое build.sh, чтобы убедиться, что путь существует.

+0

Спасибо за ответ, но в моем скрипте оболочки нет строки shebang. Все, что я хочу, чтобы сценарий сделал, это зайти в docroot сайта Drupal и сделать git checkout/pull. Я отредактировал мой оригинальный вопрос и добавил там свой сценарий, поэтому, если вы видите что-то не так, пожалуйста, дайте мне знать. – Proximus

+1

Интересно. Когда я запускаю 'ls -lah' внутри окна сборки, выходы, которые он дает мне, показывают, что по какой-то причине они не видят никаких сценариев оболочки. Например, если я внутри папки/opt/jenkins, у меня есть около 6 сценариев оболочки, но когда это делает ls -lah, по какой-то причине они не видны. Вы знаете, почему это так? – Proximus