Статьи

Как отправлять уведомления Telegram с помощью Google Cloud Build (GCB)

Эта статья представляет собой краткое руководство после борьбы с Google Cloud Build о том, как отправлять уведомления в случае сбоя или успешной сборки. Поскольку я не хотел использовать Slack и тяжелый клиент, я попробую в этом посте Telegram и открою для себя волшебный мир чат-ботов .

Вам также может понравиться: Serverless — это новый сервер сборки: Google CloudBuild (Контейнерный конструктор) через NodeJS

Google Cloud Build

Cloud Build — это сервис, который выполняет ваши сборки в  инфраструктуре Google Cloud Platform. Cloud Build может импортировать исходный код из Google Cloud Storage, облачных исходных репозиториев, GitHub или Bitbucket, выполнять сборку в соответствии с вашими спецификациями и создавать артефакты.

Google Cloud Сложение является дешевой альтернативой Дженкинс, Travis- Ci и Circle CI , если у вас есть частные проекты. В то время как другие решения требуют довольно дорогой подписки, вы платите GCB в соответствии с использованным временем сборки. Если вы не делаете частые коммиты или сборка — это короткая задача, это справедливое решение. И бонус, первые 120 минут сборки бесплатны.

Google Cloud BuildКак видите,
интерфейс
Google Cloud Build не так привлекателен, как другие конкуренты. Вот почему я хотел получить минимум уведомлений.


Там нет встроенного процесса, поэтому я должен был построить свой собственный. GCB рекомендует Slack, но мой выбор в пользу мобильных push-сообщений с Telegram.

телеграмма

Telegram — это облачная служба обмена мгновенными сообщениями и передачи голоса по IP. Пользователи могут отправлять сообщения и обмениваться фотографиями, видео, стикерами, аудио и файлами любого типа. Сообщения по умолчанию и мультимедиа в Telegram шифруются при хранении на его серверах.

Telegram работает на iPhone X (википедия)

Telegram Bots

Боты — это сторонние приложения, которые запускаются внутри Telegram. Пользователи могут взаимодействовать с ботами, отправляя им сообщения, команды и встроенные запросы . Вы управляете своими ботами, используя HTTPS-запросы к нашему API ботов .

Что может сделать БОТ (взято с сайта Telegram):

  • Получайте индивидуальные уведомления и новости.

  • Интеграция с другими сервисами.

  • Принимайте платежи от пользователей Telegram .

  • Создавайте пользовательские инструменты.

  • Создавайте одиночные и многопользовательские игры.

  • Построить социальные сервисы.

Как отправлять уведомления с помощью GCB

Вот схема, чтобы объяснить, как реализовать такой бот уведомления.

Схема реализации Google Cloud TelegramДиаграмма не раскрывает порядок реализации. Вот порядок, которому я следовал.

Создать работу с GCB

Первый шаг — определить GIT-репозиторий, который вы хотите использовать в качестве демонстрационного проекта.

Затем перейдите в раздел Google Cloud Build:

Доступ к Google Cloud Build

У вас есть два доступных действия:
подключиться к репозиторию и
создать триггер после подключения вашего репозитория GitHub.
GCB Connect Repository

Проверьте наличие предмета

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

темы

Создать Telegram BOT

Теперь пришло время для забавной части урока.

Сначала вам нужно будет установить приложение Telegram на свой мобильный телефон и следовать этому руководству, чтобы создать свой BOT. Просто поговорите с BotFather .

BotFather

После создания BOT сохраните в вашем менеджере паролей Telegram TOKEN.

Создать функцию облака

На этом шаге мы, наконец, создадим наш чат-чат уведомлений Telegram. Программа будет закодирована в Node.js и развернута как облачная функция в Google Cloud.

Почему функция облака ? Потому что мы не хотим выделять штатную виртуальную машину для обработки только нескольких секунд сообщений Google Build.

Код доступен там, и объяснение довольно простое: https://github.com/sleroy/gcb-telegram-build .

Развертывание облачной функции

Для развертывания функции Cloud вам необходимо использовать gcloud .

Облачная функция публикуется только в одном GROUP_ID .

Чтобы получить идентификатор Telegram GROUP, вам нужно добавить бота Telegram, пригласив его в группу. Затем вам нужно запросить специальную конечную точку, чтобы получить список всех подписок для этого бота.

Вот Q / A об этом: https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id .

Инструкция по развертыванию для продвижения функции облака. Если все в порядке, функция облака будет развернута.


Простой текст