Как заставить GitLab выполнять периодические задания менее чем за минуту

1656665891 kak zastavit gitlab vypolnyat periodicheskie zadaniya menee chem za minutu

от Мо Ибрагима

CpEJOBS2Kg9UV9CwpIJcdWbiNPM-kRUSpUg6

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

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

Как насчет услуги биткоин против канадского доллара всего за 56 секунд? Нет IFTTTнет Zapierно без языков программирования — и без фреймворков, без конфигурации сервера или докера, без Raspberry Pi, без AWS и без тестов!

Чтобы сделать пример максимально универсальным, мы будем использовать только 2 командные строки:

  • один, чтобы ПОЛУЧИТЬ цену биткойна из API
  • и другой, чтобы опубликовать его в другой службе.

Конечно, вы можете сделать это более полезным, опубликовав цену в Twitter, Twilio, Telegram, Slack и т.д. Здесь мы просто опубликуем его на putsreq.com, чтобы мы могли проверить запрос POST.

Затем мы используем GitLab-CI для планирования его ежедневного запуска.

Уровень : Все равны

Требования : любой веб-браузер

Давайте начнем:

  1. Создайте бесплатную учетную запись на gitlab.com (20 секунд)

2. Создайте новый проект: Нажмите на Новый проект кнопку , чтобы создать новое репо, и введите в поле имени периодически-раб или любое другое имя. (9 секунд)

erHlPeiJTmeTnQ4GoFSMtoYLR5V0zseO60H8

Затем сохраните его, нажав на Создать проект (1 секунда).

bzyB3KG6wmQ9Jc01n1FhAdyF6BBhCjC9pATv

3. Создайте файл .gitlab-ci.yml в этом новом проекте: Нажмите на Новый файлскопируйте и вставьте следующий фрагмент в файл .gitlab-ci.yml, а затем нажмите «Сохранить» (5 секунд)

ojeKxdcQUHLAGUO0y8g517nuss9rsKANxpt-
sFPB53USK5EYEvXza-ZyruSj0c9Qp3fx5-1R
test:
 script:
 - btc=$(curl https://min-api.cryptocompare.com/data/price?fsym=BTC\&tsyms=CAD)
- curl -i -X POST  — data ‘price=CA$ ‘“${btc//[0-9\.]/}”

По сути это две простые команды. Здесь мы можем пойти дальше и добавить

если [ $btc -ge 15000 -a $btc -lt 7000 ]; потом

условия или даже запустите полный файл скрипта bash, но давайте будем простыми.

Нажмите на Зафиксировать изменения и это инициирует его создание и запуск.

4. Запланируйте ежедневный запуск: Щелкните значок CI/CD, чтобы развернуть меню, и выберите «Расписания», чтобы настроить имя и таймер для запуска периодической работы. (11 секунд)

LPe0diYgDp3FtDob-daYQgz9yQp3NIbpcaB8
myy9E9YueotL6uCnQzIj64S7WvNZgH0nSvI9
нажмите на Новое расписание кнопку
hORLN61TKEGqsCLm4Dus6l0mC0hEp1kDxc7i
Введите название для нового расписания daily-bitcoin-price-jobвыберите, чтобы запускать его каждый день, а затем нажмите сохранить
2dK2LU1YHfEwHK3Mhzs82VpHdR3uXncbyG-L
Ваша запланированная задача сохранена

5. Поздравляем! Вы готовы. Перейдите по этой ссылке на putsreq.com, чтобы увидеть его в действии. (10 секунд)

Yhx54rH7S8jocMDTd8NB0F6-RwySKIoDLT5Y

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

Мы даже не коснулись поверхности того, что мы можем сделать с GitLab-CI – просто подумайте о всех возможностях его использования для создания веб-хуков или подключения его к IFTTT и Zapier, которые, в свою очередь, подключат его к сотням служб.

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

Образец кода можно найти здесь, а журналы сборки можно прочитать здесь.

Добавить комментарий

Ваш адрес email не будет опубликован.