2016-05-24 5 views
1

Я знаю, что есть кнопка Keep this build forever на Дженкинсе. У меня есть вопрос относительно этого:Сохраните этот вариант навсегда - Jenkins

У меня есть конфигурация, состоящая из одного основного задания и множества подзадач (разделенных на разные фазы). Я хотел бы знать, могу ли я щелкнуть по кнопке в основном задании, независимо от того, хранятся ли артефакты на подзаголовках постоянно или нет? Или я должен войти в каждую работу и продолжать нажимать кнопку?

+0

Будет легче узнать, что такое конечная игра, как в: зачем вам это нужно строить навсегда ? Этот вариант основан на работе, а не на потоке, поэтому вы не можете все это сделать, но мы можем помочь с тем, чего вы хотите достичь. – Dvir669

+0

Я хочу, чтобы все сборки, происходящие на ветке мастера, хранились вечно. Я установил его таким образом, что у меня есть отдельные задания сборки (в качестве подзадач), которые запускают скрипты для различных конфигураций сборки. Мне нужно заархивировать все артефакты всех этих заданий вспомогательной сборки и хранить их постоянно только для главной ветви, поскольку я всегда поддерживаю ее стабильность. Причина, по которой я хочу сохранить их постоянными, это разные версии моего развития. Я добавляю новые функции с каждой фиксацией, которую я нажимаю на мастера. –

+0

Итак, если я правильно понял - вам нужно архивировать скомпилированные артефакты, выходы консоли и т. Д. Я предполагаю, что мы говорим о разных рабочих пространствах, поэтому мы не сможем архивировать только основную работу. Вы можете оставить «Discard Old Builds» непроверенным и написать быстрый скрипт для удаления сборок без параметра «master» в них. Опять же, не знаете, какая у вас конфигурация или как работают ваши потоки. – Dvir669

ответ

2

Этот параметр влияет только на текущее задание.

Если вы хотите сохранить свои артефакты и собрать информацию для всех подзаголовков, вам нужно щелкнуть по «сохранить эту сборку навсегда» для каждого из них.

+0

Привет, спасибо за ответ. Есть ли какая-либо документация, которая сообщает эту информацию, или вы получили ее через опыт? –

+0

Я сделал тест на моей среде песочницы с родительским заданием, запускающим детское задание :) –

0

Нет готового решения.
Для этого вам нужен собственный скрипт «Системный Groovy».

E.g. мы делаем это так:

  • в нашем случае, основные задания копии артефактов из других заданий
  • записывает имена заданий и номера сборки скопированных артефактов в файл .json
  • позже мы используем этот .json-файл в скрипте System Groovy, чтобы пройти все задания и автоматически установить «держать навсегда»
Смежные вопросы