Гудзон и создание сценариев - PullRequest
2 голосов
/ 25 августа 2010

У меня есть код, который я запускаю против другого кода.Допустим, команда x выполняет код blah.c

Я написал скрипт, чтобы проверить, успешно ли выполнена эта команда.Я могу определить это.Я буду запускать сценарий в окне выполнения сборки, доступном в hudson.

Мне нужно знать, кто не сможет выполнить сборку, если какой-либо из тестов кода не пройден.что означает, что команда x запущена на blah.c, возвращена с ошибкой.

Лучшие практики для рабочих мест, созданных не Maven.Можно ли интегрировать maven?

Пожалуйста и спасибо.

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Если вы запускаете сценарий оболочки, вы можете указать сбой, выйдя с ненулевым кодом ошибки.

run_my_command foo
if [ $? -ne 0 ]; then
    echo "run_my_command failed"
    exit 1
fi

Я согласен с @ircmaxell, что есть лучшие способы написания сценариев сборки, чем написание сценариев оболочки непосредственно в Hudson.

1 голос
/ 25 августа 2010

Лично я использую ANT или Phing для такого рода вещей. Вы можете указать шаги, необходимые для завершения «цели».

Итак, в вашем случае вы бы указали задачу exec. Затем вы должны установить свойство checkreturn для этой задачи. Таким образом, если команда возвращает что-либо, кроме 0, она не достигнет цели. И Хадсон автоматически провалит сборку.

Приятно то, что вы можете вручную выполнить задачу сборки ANT вне Хадсона (так что вам не нужно подтверждать, успешно ли она будет собираться). Я лично храню свой phing build.xml внутри того же элемента управления версиями, что и мой проект, чтобы он всегда был доступен ...

0 голосов
/ 03 сентября 2010

Да, вы можете использовать плагин M2 Extra Steps для hudson, чтобы выдавать команды оболочки до / после сборки maven, с условным управлением (например, если эта команда не выполняется, пропустите запуск Maven, отмените сборку)

Мы используем это для очистки некоторых вещей перед запуском сборки.

...