Jenkins jobs с примером и сравнение с CRON

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

Jenkins jobs

Часто используемое средство 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 jobs
Задаче нужно дать имя и указать тип. Чаще всего это Freestyle projectjenkins jobs создание

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

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

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

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

jenkins 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

[[email protected] tmp]# cat date.txt

Wed Jan 16 06:33:02 UTC 2019

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