Привнесите больше автоматизации в свои проекты

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

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

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

Автоматизируйте развертывания

Непрерывная интеграция (CI) и непрерывная поставка (CD) являются важными элементами современной разработки программного обеспечения. CI обеспечивает более быструю интеграцию нового кода, выполняя все тесты. Между тем, компакт-диск вносит ваши изменения в жизнь быстрее.

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

На самом деле современные приложения не так просты. Если наше приложение находится в облаке, мы должны сначала настроить учетные данные. Если приложение контейнеризировано, необходимо выпустить новую версию образа Docker. Мы также можем указать конфигурации для каждой среды.

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

Создать релиз и журнал изменений

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

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

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

Автоматический этикетировщик

Еще одна идея использования GitHub Actions — автоматизировать процесс маркировки. Когда нам это нужно?

Давайте подумаем о следующем сценарии. У вашего проекта хорошая структура, и каждая команда инкапсулирует свою работу в определенной папке. Это делает команду владельцем кода в этой области.

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

Безопасность

Безопасность остается самой важной темой каждого приложения. Мы хотим убедиться, что следуем лучшим практикам и сохраняем исходный код в безопасности. GitHub Actions также может помочь в этом случае.

Можно настроить проверки безопасности для ваших проектов. Например, мы хотим убедиться, что у нас нет никаких паролей в исходном коде. Политика может принудительно использовать учетные данные только в выделенных файлах. Также можно настроить проверку уязвимостей. Автоматизация может гарантировать, что приложение и вспомогательные зависимости на 100 % совместимы.

Мобильные утилиты

Несколько лет назад я реализовал bash-скрипт для проверки размера файла .apk при каждом запросе на включение. Если размер превысит порог, сборка завершится ошибкой, и разработчику придется проверять причину увеличения установочного файла.

Если вы хотите использовать эту функцию для своего проекта, вам не нужно писать собственный скрипт. Существует выделенный GitHub Action от Microsoft.

Мобильные разработчики находят много полезных действий для проектов Android и iOS. Обычные шаги, такие как запутывание кода, подписание двоичных файлов сертификатами и их распространение среди бета-тестеров, можно автоматизировать.

Нет необходимости настраивать несколько инструментов, GitHub Actions становится единой точкой входа для автоматизации.

Если вы считаете, что нет действий GitHub, подходящих для ваших нужд, не разочаровывайтесь. Предоставленный API позволяет любому создать действие GitHub. И если вы чувствуете, что кто-то может получить пользу, это хорошая возможность поделиться этим с другими на рынке. Поделитесь своими идеями по автоматизации!

Want to Connect?
Do you want to grow professionally as a software engineer? Are you curious about how to achieve the next level in your career? I compiled a comprehensive list of actions in my book “Unlock the Code.”