Допустим, у вас есть несколько задач в Jenkins, и между ними надо передавать параметры. Например, номер версии.

Макс Захаров в своё время зарекомендовал мне плагин под названием Jenkins Parameterized Trigger plugin. Вот его подробная статья про автоматизацию тестирования, кстати.

Но есть более удобный способ делать это. Просто используйте Copy Artifacts Plugin. Первая задача может создавать небольшой текстовый файл, в который записывается номер версии. В конце сборки заархивируйте этот файл. А в следующие задачи добавьте шаг Copy artifacts from another project, чтобы они забирали этот файл.

Плюсы этого подхода:

  • Это естественный для jenkins способ связывать задачи друг с другом. Если вы хотите отслеживать взаимосвязь, то всё равно придётся передавать какие-то файлы
  • Это удобнее, чем текстовый параметр. Опечататься невозможно.
  • При ручном запуске задачи будет нужно жать на кнопку всего один раз :)

Важные нюансы:

  • Не забывайте про архивирование. Чтобы файл можно было использовать в других задачах, его предварительно надо заархивировать.
  • Будьте внимательны к правилам, которые используются у вас для удаления старых сборок. Если есть риск того, что сборка головной задачи может исчезнуть до того, как запустится самая последняя задача в цепочке, то более безопасно будет копировать артефакт с одной задачи на другую (и архивировать на каждой). Это получается не так изящно, зато более надёжно.


Published

22 June 2013

Tags