Подтвердить что ты не робот

Запуск параметризованного задания в определенное время у дженкинсов

У меня есть параметризованное задание, которое я планирую запустить в определенное время. В любом случае, я могу выбрать свои параметры и запланировать его запуск.

Заранее спасибо

4b9b3361

Ответ 1

Как минимум два способа справиться с этим,
но вы должны заранее знать требуемые значения:

  • Задайте значения по умолчанию для заданий, которые вам нужны,
    затем планируйте его для запуска, когда захотите.

  • Вместо планирования параметризованного задания,
    создать другое задание, которое вызовет параметризованное задание при передаче релевантной информации значения для параметров
    (Это также позволяет вам инициировать целевое задание
    с разными наборами значений).

ИЗМЕНИТЬ:

Этот третий метод позволит вам обновить значения параметров по мере необходимости:

  • Задайте задание для чтения значений параметров из конфигурационного файла
    (через EnvInject Plugin), затем обновите содержимое этого файла конфигурации
    перед выполнением задания.

Обратите внимание, что это будет плохой практикой, чтобы изменить этот файл перед каждым запуском,
так как есть более эффективные способы автоматического запуска Jenkins-заданий с параметрами.

Ответ 2

Когда триггеры сборки используются для запуска сборки, нет способа передать параметры. Поскольку задание параметризуется, задание автозапуска запускается с параметрами по умолчанию.

Если это достаточно хорошо, вы можете просто установить расписание, которое вы хотите запустить, через раздел "Build Triggers" на странице конфигурации задания, затем вы установите флажок "Построить периодически" и добавьте соответствующие значения ( используя синтаксис cron). Пусть действуют параметры по умолчанию.

Однако вы можете использовать POST для jenkins в качестве триггера и передавать точные значения. Затем вам придется использовать CRON непосредственно для этого с оболочкой script, поэтому вы можете установить значения параметров.

Например,

http://example.com/jenkins/job/this_job/buildWithParameters?PARAMETER=Value

Ответ 3

Построение ответа на вопрос Gonen немного, вы можете использовать Build Flow Plugin, чтобы сделать это немного легче для себя. После установки создайте новое задание и установите тип "Построить поток". Настройте это задание на выполнение в нужное запланированное время. В разделе "Определить поток сборки с использованием потока DSL" для этого задания укажите задание (ы), которое вы хотите создать:

build( "Job You Want Built", param1:"whatever", Param2:"whatever")

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

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

Ответ 4

Jenkins crontab позволяет планировать задание на выполнение в определенное время, но еще не позволяет передавать параметры.

Однако есть этот запрос функции Jenkins, чтобы расширить его для передачи параметров. После этого вы сможете делать то, что хотите, без необходимости создавать дополнительные задания Дженкинса, как предлагают некоторые другие ответы.

Вы можете проголосовать за эту функцию, которая будет включена в Дженкинс раньше, если она вам поможет.

Ответ 5

Вы можете использовать Плагин планировщика параметров

Он позволяет вам указывать параметры после расписания cron, например:

H(0-29)/10 * * * * % name=value; othername=othervalue

Пары значений имени после% интерпретируются как параметры.