Продолжаем серию статей о деплое. Если не читали другие части, то вот оглавление:

Серия статей по деплою

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

Почему автоматизация деплоя важна

Экономия времени и ресурсов

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

Минимизация ошибок

Человеческий фактор всегда несет риски: можно неправильно собрать ассеты, забыть о миграциях или не обновить конфигурацию. Автоматизация уменьшает вероятность ошибок — настроил, протестировал, и дальше скрипт сделает все за вас.

Обеспечение непрерывности работы

При деплое часто приходится переводить приложение в режим обслуживания, что недопустимо для ряда бизнесов, так как это приводит к потере клиентов и денег. Автоматизация позволяет настроить деплой так, чтобы приложение оставалось доступным 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)


  1. dyadyaSerezha
    21.08.2024 06:34
    +1

    Работает с GitHub и GitLab.

    Это надо добавить в название. Очень много проектов деплоятся: 1) Не оттуда, 2) не по каждому пущу, 3) деплоят бинарники (из Нексуса или Артифактори, например), конфиг-файлы после настройки, изменения БД и так далее. Минимально подходит Ansible, хотя и не очень.

    Затраты на хостинг

    А, сервис даже внешний? Ну тогда это вообще отдельный класс проектов, о чем опять же - надо написать в заголовке или хотя бы в первом же предложении статьи - что, куда и как деплоите. То есть, область применения.


  1. baldr
    21.08.2024 06:34

    Да, статья чисто рекламная, но не хватает кучи деталей, из которых можно было бы понять что это подойдёт совсем не каждому.

    • Судя по всему, это нацелено, в основном, для PHP-проектов

    • Деплоит для запуска прямо на сервере, без контейнеров (WUT? Мы в 2024 году!)

    Честно говоря, функционал маловат - действительно, всё это делается через Ansible или даже rsync. Автоматизируется тут очень небольшая часть.