Опрос Accurev SCM только при наличии изменений в коде

Я опрашиваю Accurev SCM каждые 30 минут, используя Poll SCM как H/30 * * * *

Однако я хочу изменить функциональность, чтобы Accurev опрашивался Jenkins только после внесения изменений в код в Accurev. Я не хочу опрашивать Accurev SCM каждые 30 минут.

Пожалуйста, дайте мне знать, как этого можно достичь.


person meallhour    schedule 03.03.2016    source источник
comment
Вы понимаете, что опрос SCM — это то, как Дженкинс узнает, что ваш репозиторий изменился? Вы фактически спрашиваете, есть ли способ проверить, произошло ли изменение, только когда вы точно знаете, что изменение произошло. Если бы вы могли это сделать, зачем вообще проводить опрос, просто начните работу.   -  person Tuffwer    schedule 04.03.2016
comment
На самом деле, я хочу запускать задание каждый раз, когда происходит изменение.   -  person meallhour    schedule 04.03.2016
comment
Вы используете этот плагин AccuRev Plugin? Если это так, то простым ответом будет опрос с гораздо меньшей частотой, чем у вас. После небольшого чтения этого плагина я не думаю, что в настоящее время существует такая функциональность. Он не обновлялся с 2014 года. Возможно, вы сможете разветвить его на Git и написать свой собственный метод, который позволяет срабатывать при изменении SCM. Это, вероятно, потребует настройки чего-то, что отправляет уведомление в плагин.   -  person Tuffwer    schedule 04.03.2016
comment
Да, я использую плагин AccuRev. Не могли бы вы пролить свет на то, как to fork it on Git and write your own method that allows a trigger on SCM change. That would probably involve setting up something that pushes a notification to the plugin though   -  person meallhour    schedule 04.03.2016
comment
На самом деле немного, я не особенно знаком с Java (для этого вам нужно написать какой-то код), и это может быть ужасным подходом, но: Вот git repo Вы можете сделать запрос на включение, чтобы получить исходный код плагина, а затем добавить метод, который слушает (возможно, с TCP/IP ?) для какого-то уведомления и запускает задание. Затем вам нужно будет посмотреть, может ли репозиторий AccuRev отправить уведомление. Если это возможно, вы захотите выяснить его структуру и написать свой метод в плагине для правильного анализа этого уведомления. 1/2   -  person Tuffwer    schedule 04.03.2016
comment
Это займет гораздо больше времени (и знаний, учитывая отсутствие у меня опыта работы с Java), чем я могу выделить, чтобы сделать это, но это описание высокого уровня того, что необходимо сделать.   -  person Tuffwer    schedule 04.03.2016


Ответы (1)


Вы можете использовать триггеры AccuRev для вызова сборки вашего задания Jenkins. Если вы установите триггер на стороне сервера, например server-post-promote-trig (документация), AccuRev будет выполнять задачу каждый раз, когда изменение продвигается к определенному потоку.

Единственное, что вам нужно закодировать в этом триггере, — это вызов http://your_jenkins_server/job/your_job/build, и Дженкинс немедленно выполнит задание, поэтому вам не нужно устанавливать какие-либо флажки в разделе «Создать триггеры».

person Johnbo    schedule 04.03.2016