Операция Jenkins build job с примером и сравнение с CRON


Операция Jenkins build job — аналог планировщика задач CRON в Jenkins, имеющий по сравнению с системным планировщиком ряд преимуществ.



Jenkins jobs и операция Jenkins build job


Часто используемое средство CI/CD.



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


Примеры применения:

  • мониторинг
  • создание бэкапов
  • обновление


Отличия Jenkins jobs от cron:


1.
Предполагают ведение логов, в которые пишется отладочная информация в гораздо более наглядном виде, чем записи в syslog для системного планировщика. К этим логам имеет доступ в том числе непривелегированный пользователь

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

3.
jobs могут задаваться вызовами API

4.
Дают бОльшую безопасность. С правами системных пользователей (как cron) можно запускать задачи от пользователя jenkins. Также можно рассматривать это как недостаток.



Для задач jenkins периодичность выполнения задается так же:
minute hour daymonth month dayweek


Про CRON и расписание.



В качестве примера можно добавить задачу, которая будет проверять запущен ли веб-сервер и если нет — запускать его. Или просто записывать время в файл. Рассмотрим добавление второй задачи. Разницы с первой нет, только сама команда.



Пример Jenkins jobs

Jenkins build job


jenkins jobs создание


На главной странице после авторизации доступна ссылка, перейдя по которой можно добавить задачу
Задаче нужно дать имя и указать тип. Чаще всего это Freestyle project

Можно указать описание



jenkins build jobs добавление


jenkins jobs выполнение


Затем в разделе Build Triggers отметить Build periodically и задать расписание как в CRON. Подсказку можно увидеть нажав на значок со знаком вопроса справа.



В разделе Build выбираем Shell script и вводим то, что нужно выполнять.


jenkins build jobs 5

Затем Apply и Save.

Задача теперь будет выполняться по установленному расписанию.

Сверху в интерфейсе можно выбрать ее имя, task1


jenkins jobs 6


Доступны опции Status и Build History. В Build History отображаются события — случаи когда задача отработала.

При нажатии на 1.


jenkins jobs 7

Далее можно выбрать Console Output чтобы увидеть подробности по выполнению job. Если произошли какие-то ошибки — информация будет в выводе.


jenkins jobs 8

На самом сервере при выполнении задачи был создан файл /tmp/date.txt

[root@balancer tmp]# cat date.txt

Wed Jan 16 06:33:02 UTC 2019

Jenkins позволяет выполнять сложные задачи, но принцип их задания аналогичен рассмотренному.

Сказать спасибо