Продолжаем серию статей о деплое. Если не читали другие части, то вот оглавление:
Серия статей по деплою
Сегодня деплой приложений — неотъемлемая часть работы любой команды разработчиков, будь то стартап или крупная корпорация. Обновление и развертывание новых версий — это регулярная задача для каждого разработчика. Как мы уже говорили в предыдущих статьях, автоматизация деплоя не только возможна, но и крайне необходима, особенно если вы делаете это часто.
Почему автоматизация деплоя важна
Экономия времени и ресурсов
Ручной деплой занимает много времени, особенно при частых обновлениях. Автоматизация позволяет сосредоточиться на более важных задачах, увеличивая продуктивность команды.
Минимизация ошибок
Человеческий фактор всегда несет риски: можно неправильно собрать ассеты, забыть о миграциях или не обновить конфигурацию. Автоматизация уменьшает вероятность ошибок — настроил, протестировал, и дальше скрипт сделает все за вас.
Обеспечение непрерывности работы
При деплое часто приходится переводить приложение в режим обслуживания, что недопустимо для ряда бизнесов, так как это приводит к потере клиентов и денег. Автоматизация позволяет настроить деплой так, чтобы приложение оставалось доступным 24/7.
Контроль и мониторинг
Простая автоматизация может лишить вас контроля над процессом. Добавление функций логирования и отчетов облегчает анализ деплоя и помогает выявить возможные проблемы.
Ускорение выпуска новых версий
Автоматизация позволяет быстрее выводить на продакшн обновления и новые функции, что дает конкурентное преимущество и помогает оперативно реагировать на запросы пользователей.
Таким образом, автоматизация деплоя — это не просто способ облегчить жизнь разработчикам, но и инструмент для повышения стабильности и эффективности проекта.
Личный опыт и создание onFriday
Признаюсь, полностью автоматизировать деплой у меня никогда не получалось — всегда приходилось вмешиваться вручную. Как и многие разработчики, я стремлюсь автоматизировать рутину. Ведь хороший разработчик — ленивый разработчик, верно? ?
Я долгое время использовал Envoyer, но когда он стал недоступен для оплаты из России, пришлось задуматься о собственном инструменте для автоматизации деплоя. После обсуждения в моём Laravel-комьюнити в telegram стало ясно, что многие разработчики нуждаются в подобном сервисе. Так и появился onFriday.
Обзорное видео:
OnFriday — сервис для деплоя приложений
Создавая onFriday, в первую очередь хотел закрыть потребности таких же разработчиков как и я - любящих скорость, комфорт и надёжность.
Принцип работы
onFriday выступает посредником при деплое и управляет процессом.
Вкратце - настраивается соединение с сервером, на который будет осуществляться деплой, указываем git-репозиторий из которого будем забирать код и настраиваем вебхук, который будет запускать процесс деплоя. Добавляем команды которые нужно выполнять на нужных этапах в процессе деплоя. Всё, можно деплоить.
Подробная инструкция по настройке доступна на сайте.
Сильные стороны onFriday
Деплой в один клик
Запушил = задеплоил.Универсальность
Для деплоя классического web-приложения на PHP от сервера потребуется лишь SSH, установленный PHP и Composer (если его нет, onFriday поможет установить). Работает с GitHub и GitLab.Поддержка разных технологий
Есть готовые рецепты под PHP и Laravel, но также с помощью onFriday можно развернуть и любой другой стек, например GO.Нулевое время простоя
Пользователи не заметят обновления, работа проекта не прерывается.Быстрый откат на предыдущую версию
Возможность моментального переключения на предыдущую версию проекта, также бесшовно.Уведомления и контроль результата
По завершении деплоя вы получите отчет в Telegram с скриншотом работоспособного проекта.Безопасность
Двухфакторная аутентификация и SSL-соединение обеспечивают высокий уровень защиты.Подробные логи и отчеты
Позволяют анализировать каждый деплой, выявлять и устранять ошибки.Кастомизируемые хуки
Возможность запускать специфические команды для вашего проекта.Поддержка API
Интеграция с другими системами и создание кастомных решений для деплоя.Health check
Проверка доступности сайта с уведомлением в Telegram в случае неполадок.Импорт/экспорт настроек
Удобно, если на одном сервере работают несколько проектов.Удобная работа с env
Фанаты Laravel оценят.
Я старался сделать удобный инструмент для разработчиков, установив символическую цену, чтобы каждый мог позволить себе его использование.
Вопросы и ответы
Недавно делал презентацию по onFriday для нескольких компаний, во время которой мне задавали вопросы. Поделюсь ответами.
Зачем мне onFriday, если я могу настроить автоматизацию через bash-скрипт или GitHub Actions?
onFriday обеспечивает комфортный и информативный процесс деплоя со всеми необходимыми функциями, которые сложно настроить с помощью скриптов. Это нулевое время простоя, уведомления, удобный интерфейс, подробные логи и кастомизируемые хуки.
Почему я должен платить за onFriday, если могу настроить автоматизацию бесплатно через Envoy?
Остановлюсь на основных трёх фактах:
1. Время и усилия. Настройка собственного инструмента для деплоя трудоёмкая задача (но безусловно многим она под силу) и займёт значительное количество времени.
2.Надёжность и стабильность. onFriday проходит регулярные обновления и тестирования. Это гарантирует высокую надёжность и стабильность, что может быть сложно достичь при использовании собственных решений.
3.Комфорт. Удобные уведомления и отчёты, Health Check, API-доступ.
И всё это стоит дешевле стакана кофе.
Я привык деплоить вручную по SSH, зачем мне onFriday?
Ручной деплой требует много времени и усилий. onFriday автоматизирует этот процесс, освобождая вас для более важных задач.
Что, если у вас возникнут проблемы с безопасностью?
Безопасность — наш приоритет. Мы используем SSL-соединения, индивидуальные ключи доступа и двухфакторную аутентификацию. Если вы доверяете GitHub или GitLab, то и onFriday можно использовать без опасений.
Сложно ли настроить onFriday?
Первоначальная настройка onFriday занимает около 5 минут. У нас есть подробная документация и видеоинструкции, которые помогут быстро освоить платформу.
Мои проекты просты, зачем мне onFriday?
Даже для простых проектов onFriday предлагает ряд преимуществ: нулевое время простоя, уведомления, логи и быстрая настройка.
Не доверяю внешним сервисам — они могут закрыться или изменить условия
onFriday создан для разработчиков и ежедневно используется в реальных проектах. Мы установили символическую стоимость, чтобы покрыть затраты на хостинг и поддерживать сервис в рабочем состоянии.
Справится ли onFriday с деплоем сложных проектов?
Да, onFriday предназначен для работы с сложными проектами, предоставляя кастомизируемые хуки, подробную статистику и мониторинг доступности.
Приглашение
Приглашаю вас протестировать onFriday! Получайте удовольствие от деплоя и станьте счастливее используя наш сервис.
Говорят, что в пятницу деплоить нельзя, но с onFriday можно! ?
Комментарии (2)
baldr
21.08.2024 06:34Да, статья чисто рекламная, но не хватает кучи деталей, из которых можно было бы понять что это подойдёт совсем не каждому.
Судя по всему, это нацелено, в основном, для PHP-проектов
Деплоит для запуска прямо на сервере, без контейнеров (WUT? Мы в 2024 году!)
Честно говоря, функционал маловат - действительно, всё это делается через Ansible или даже rsync. Автоматизируется тут очень небольшая часть.
dyadyaSerezha
Это надо добавить в название. Очень много проектов деплоятся: 1) Не оттуда, 2) не по каждому пущу, 3) деплоят бинарники (из Нексуса или Артифактори, например), конфиг-файлы после настройки, изменения БД и так далее. Минимально подходит Ansible, хотя и не очень.
А, сервис даже внешний? Ну тогда это вообще отдельный класс проектов, о чем опять же - надо написать в заголовке или хотя бы в первом же предложении статьи - что, куда и как деплоите. То есть, область применения.