Telegram Group & Telegram Channel
​​Я в пятницу рассказал про систему мониторинга Gatus. Система мне понравилась, так что решил её сразу внедрить у себя. Понравилась за 3 вещи:

▪️ простая настройка в едином конфигурационном файле;
▪️ информативные уведомления в Telegram;
▪️ наглядный дашборд со статусами как отдельных проверок, так и объединённых в группы.

На примере настройки Gatus я покажу, как собрал простейший конвейер по деплою настроек для этой системы мониторинга.

Настройка Gatus у меня сейчас выглядит следующим образом. Я открываю в VSCode конфигурационный файл config.yaml, который сохранён у меня локально на ноуте. Вношу в него правки, сохраняю и пушу в git репозиторий. Дальше изменения автоматом доходят до VPS, где всё развёрнуто и автоматически применяются. Через 10 секунд после пуша я иду в браузере проверять изменения.

Рассказываю по шагам, что я сделал для этого.

1️⃣ Взял самую простую VPS с 1 CPU и 1 GB оперативной памяти. Установил туда Docker и запустил Gatus.

2️⃣ В бесплатной учётной записи на gitlab.com создал отдельный репозиторий для Gatus.

3️⃣ На VPS установил gitlub-runner с shell executor, запустил и подключил к проекту Gatus.

4️⃣ Для проекта настроил простейший CI/CD средствами Gitlab (по факту только CD) с помощью файла .gitlab-ci.yml. Добавил туда всего 3 действия:
deploy-prod:
stage: deploy
script:
- cd /home/gitlab-runner/gatus
- git pull
- /usr/bin/docker restart gatus

5️⃣ Скопировал репозиторий к себе на ноут, где установлен VSCode с расширением GitLab Workflow. С его помощью подключаю локальные репозитории к репозиториям gitlab.

Итого у меня в репозитории 2 файла:

config.yaml - конфигурация gatus
.gitlab-ci.yml - описание команд, которые будет выполнять gitlab-runner

Когда мне нужно добавить или отредактировать проверку в Gatus, я открываю у себя на ноуте конфиг и вношу туда изменения. Коммичу их и пушу изменения в репозиторий в Gitlab. Сервис видит наличие файла .gitlab-ci.yml и отдаёт команду gitlab-runner, установленному на VPS на выполнение заданных действий: обновление локального репозитория, чтобы поучить обновлённый конфиг и перезапуск контейнера, который необходим для применения изменений.

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

#devops #cicd
👍122👎3



tg-me.com/srv_admin/3755
Create:
Last Update:

​​Я в пятницу рассказал про систему мониторинга Gatus. Система мне понравилась, так что решил её сразу внедрить у себя. Понравилась за 3 вещи:

▪️ простая настройка в едином конфигурационном файле;
▪️ информативные уведомления в Telegram;
▪️ наглядный дашборд со статусами как отдельных проверок, так и объединённых в группы.

На примере настройки Gatus я покажу, как собрал простейший конвейер по деплою настроек для этой системы мониторинга.

Настройка Gatus у меня сейчас выглядит следующим образом. Я открываю в VSCode конфигурационный файл config.yaml, который сохранён у меня локально на ноуте. Вношу в него правки, сохраняю и пушу в git репозиторий. Дальше изменения автоматом доходят до VPS, где всё развёрнуто и автоматически применяются. Через 10 секунд после пуша я иду в браузере проверять изменения.

Рассказываю по шагам, что я сделал для этого.

1️⃣ Взял самую простую VPS с 1 CPU и 1 GB оперативной памяти. Установил туда Docker и запустил Gatus.

2️⃣ В бесплатной учётной записи на gitlab.com создал отдельный репозиторий для Gatus.

3️⃣ На VPS установил gitlub-runner с shell executor, запустил и подключил к проекту Gatus.

4️⃣ Для проекта настроил простейший CI/CD средствами Gitlab (по факту только CD) с помощью файла .gitlab-ci.yml. Добавил туда всего 3 действия:
deploy-prod:
stage: deploy
script:
- cd /home/gitlab-runner/gatus
- git pull
- /usr/bin/docker restart gatus

5️⃣ Скопировал репозиторий к себе на ноут, где установлен VSCode с расширением GitLab Workflow. С его помощью подключаю локальные репозитории к репозиториям gitlab.

Итого у меня в репозитории 2 файла:

config.yaml - конфигурация gatus
.gitlab-ci.yml - описание команд, которые будет выполнять gitlab-runner

Когда мне нужно добавить или отредактировать проверку в Gatus, я открываю у себя на ноуте конфиг и вношу туда изменения. Коммичу их и пушу изменения в репозиторий в Gitlab. Сервис видит наличие файла .gitlab-ci.yml и отдаёт команду gitlab-runner, установленному на VPS на выполнение заданных действий: обновление локального репозитория, чтобы поучить обновлённый конфиг и перезапуск контейнера, который необходим для применения изменений.

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

#devops #cicd

BY ServerAdmin.ru




Share with your friend now:
tg-me.com/srv_admin/3755

View MORE
Open in Telegram


ServerAdmin ru Telegram | DID YOU KNOW?

Date: |

Launched in 2013, Telegram allows users to broadcast messages to a following via “channels”, or create public and private groups that are simple for others to access. Users can also send and receive large data files, including text and zip files, directly via the app.The platform said it has more than 500m active users, and topped 1bn downloads in August, according to data from SensorTower.

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

ServerAdmin ru from us


Telegram ServerAdmin.ru
FROM USA