Гудзоновские трубопроводы - PullRequest
2 голосов
/ 18 мая 2010

Может кто-нибудь помочь с этой проблемой?

У меня есть тестовая работа, нижестоящая работа и совместная работа. Я только хочу, чтобы задание соединения выполнялось, если последующее задание выполнено успешно.

Если тестовое задание не выполнено и последующее задание выполнено успешно, я все же хочу запустить задание соединения.

Кто-нибудь знает плагин, который может помочь здесь?

Плагин объединения не достаточно хорош, потому что я могу настроить его для запуска задания присоединения, когда тестирование и последующий поток пройдены успешно, или запуска соединения независимо от того, успешен ли / неудачен задания. Но не запускайте присоединяющуюся работу ТОЛЬКО в случае успеха ниже по течению.

Почему я хочу сделать это таким образом? Я хочу объединить рабочие места вместе, но только в том случае, если обычная работа «вниз по течению» будет успешной. Если это не удается, я хочу, чтобы конвейер "сломался".

Добавление дополнительной информации к исходному вопросу: Итак, у меня есть набор тестов (Test.1, Test.2, Test.3). Я могу управлять ими индивидуально из Хадсона, они бегут, дают результат и заканчивают. Я также хочу иметь возможность запускать их как часть конвейера. Test.1 запускается, заканчивается и затем запускает Test.2. и т.д. Так что у меня есть два отдельных способа запуска Test.1. Индивидуально или как часть трубопровода. Чтобы помочь здесь, я сделал Test.1, Test.2 и т.д. параметризованными (true / false). По умолчанию параметр имеет значение false. Поэтому, когда я запускаю Test.1 по умолчанию (false), тест запускается и заканчивается. Когда я запускаю Test.1 с параметром True, я бы хотел, чтобы он запускал Test.2. Этот второй бит, который я не могу сделать

Большое спасибо John

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Как и в случае с Gareth_bowles, я просто объединял бы все задания (без объединения) и использовал плагин параметризованного запуска Hudson *1002* для запуска зависимого задания, даже если текущее задание не выполнено. Единственный недостаток в том, что у вас нет параллельных заданий.

Подумав еще раз, вы можете использовать плагин с параметром Hudson Parameterized Trigger для запуска временного задания после тестового задания, независимо от успеха тестового задания. Временное задание всегда будет успешным (потому что на самом деле оно не выполняет ничего, кроме запуска задания присоединения. Таким образом, ваше тестовое задание (с точки зрения задания присоединения) всегда будет выполнено успешно, и только задание нижестоящего уровня определяет, будет ли выполнено задание присоединения.

Редактировать

После понимания того, что вы действительно хотите сделать, а именно запустить Test.N независимо или как часть цепочки, я пойду с моим первым предложением. Это означает, что Test.N всегда запускает задание Downstream.N независимо от того, был ли Test.N успешным или неудачным. Вам необходим плагин Parameterized Trigger и настроить два триггера. Первый запускает зависимое задание, когда тестовое задание является успешным или нестабильным, а второй триггер также запускает зависимое задание, но только в случае сбоя тестового задания. Не забудьте передать свои параметры, и все готово. Не очень сложно.

0 голосов
/ 18 мая 2010

Разве вы не можете просто пропустить подключаемый плагин и сделать работу объединения исключительно зависимой от последующей работы? Это удовлетворило бы ваше требование о том, чтобы задание соединения выполнялось только при успешном выполнении нижестоящего задания, при условии, что флажок «Триггер, даже если сборка нестабильна» не отмечен в определении зависимостей в последующем построении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...