Соберите проект #
Выберите интересующую вас услугу
Меня интересует...

    Deploy (деплой): что это, этапы, внедрение

    Deploy (деплой): что это, этапы, внедрение
    3 мин.

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

      Что такое deploy

      В переводе с английского деплой означает «развертывание». В веб-программировании под этим словом понимается запуск сайта или приложения на хостинге или сервере. Изначально готовый проект хранится на локальном компьютере, после чего разработчик выгружает его в специальное рабочее пространство, где к нему можно посылать запросы.

      Процесс выгрузки сайта на сервер или хостинг называется деплоингом. Тот же самый процесс обозначает выражение «отправить в продакшн». Если с первым словом все понятно, то со вторым тоже лучше разобраться.

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

      Для чего нужен deploy

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

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

      Способы деплоя

      Деплоить сайты и веб-проекты можно тремя основными способами:

      • При помощи выданного в аренду виртуального сервера (VPS). В этом случае все файлы передаются вручную, что довольно неудобно. Это могут быть HTML-страницы, JavaScript или скомпилированная версия. Последняя создается путем перевода исходного кода в машинный. В полученных файлах веб-сервер считывает изменения и отправляет их обратно пользователю. Сегодня такой подход практически не используется, поскольку от хранения файлов в папках на сервере уже давно отказались.
      • На виртуальных машинах (VDS), представляющих из себя операционные системы, с помощью которых можно имитировать любое устройство или программу. На них запускается абсолютно любое ПО. Чтобы начать деплоить, достаточно установить специальную платформу Docker. С ее помощью разрабатываются и запускаются контейнерные приложения или веб-серверы. Этот путь считается универсальным, но достаточно сложным, особенно для новичков.
      • Средствами специальных платформ, таких как: GitHub, Yandex Cloud, Heroku, GitLab и др. Данный способ деплоя самый простой и современный. От разработчика не требуется установки дополнительных программ или ручной передачи файлов. Сценарий деплоя указывается прямо в коде, после чего все изменения достаточно отправить в репозиторий. Сборка и деплой кода произойдет автоматически, встроенными средствами платформы.

      Этапы деплоя

      Как и любой другой процесс, деплой состоит из этапов. Специалисты обычно выделяют 4 основных:

      • Передача кода на сервер — это доставка файлов приложения в рабочую среду через систему контроля версий (Git). Она позволяет сразу нескольким разработчикам взаимодействовать с проектом: отслеживать изменения и при необходимости их сохранять.
      • Установка зависимостей — подразумевает обновление исходных файлов и запись в них связей с новыми частями ПО. Полученный результат добавляется в существующую структуру.
      • Сборка — объединение всех файлов в один работоспособный проект.
      • Запуск — прекращение работы предыдущей версии и запуск обновленного варианта программы с расширенным функционалом.

      Автоматизация деплоя

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

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

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

      Как начать деплоить

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

      Продолжая пользоваться сайтом, я даю согласие на использование файлов cookie.