Ответ 1
Вы пробовали параметризованный триггерный плагин?
Вы можете использовать его как шаг сборки и пометить флажок "Блокировать, пока запущенные проекты не закончат свои сборки". Это должно быть именно то, что вы ищете.
У меня есть два задания:
Я хочу, чтобы Launch-instance зависел от другого, так что запуск запуска-экземпляра автоматически заставляет загрузку запускаться в первую очередь.
Могу ли я достичь этого с помощью встроенных функций Jenkins или с помощью плагина?
Заметьте, что я не хочу, чтобы Upload всегда запускал запуск-экземпляр, что и делает опция "Build after other projects" в Launch-instance. Я хочу больше , аналогично тому, как атрибут depends
работает в Ant.
Вы пробовали параметризованный триггерный плагин?
Вы можете использовать его как шаг сборки и пометить флажок "Блокировать, пока запущенные проекты не закончат свои сборки". Это должно быть именно то, что вы ищете.
Ага, нашел это! Здесь я основываюсь на ответе Мики, который показал путь, но не полностью решил это для меня.
Как говорится в статье на испанском языке о запуске сборок Hudson, на которую ссылались комментарии на странице API удаленного доступа Hudson, на которую ссылалась miki:
En la sección " Построить триггеры " [...] marcamos la opción " Триггер строит удаленно (например, из сценариев) ". Al marcar esta opción vemos como aparece el cuadro de texto "Знак аутентификации". Aquí pondremos el nombre del token de autenticación.
(источник: adictosaltrabajo.com)
(Кажется, польза от знания испанского языка начинает материализовываться... :-)
Таким образом, оказалось, что Hudson предоставляет удобную встроенную опцию для удаленного запуска сборок. В разделе " Триггеры сборки " (в моем случае " Задача загрузки") вы можете включить удаленную сборку и установить токен авторизации (см. Скриншот выше). Затем вы можете запустить сборку, открыв определенный URL, содержащий этот токен. В моем случае первый шаг сборки Launch-instance выглядит следующим образом:
wget http://[hudson-url]/job/Upload/build?token=TEST
sleep 10
Это работает, даже если анонимные сборки отключены и простая попытка получить доступ к URL сборки даст 403 Forbidden.
Запуск зависимого задания через wget не является общим решением. Поскольку задания выполняются асинхронно, ваша стартовая работа не будет зависать и ждать загрузки задания для завершения. использование сна - это просто грязный взлом, и это не вариант для большинства случаев... IMHO лучшим решением является использование: http://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin
Как насчет создания загрузки, вызывая его построить URL с помощью wget в качестве первого шага сборки? Затем добавьте шаги сборки говядины запуска-экземпляра.
Или для более привлекательного подхода, возможно, используйте API удаленного доступа.
Вы можете использовать зависимые нисходящие или восходящие потоки. Вы должны использовать "Build Triggers" → Построить после того, как другие проекты будут построены и/или будут выполняться после сборки в части конфигурации проекта.