Деплой -- что это в программировании (deploy)

Деплой (deploy) -- задача развертывания приложения на новой машине/или на той же самой, но новой его версии.

То есть, деплой это процесс (так или иначе организованный) перевода кода вашего проекта в рабочее состояние на конкретной машине, как следствие деплой может включать (в этом или ином порядке):

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

Как хорошо и как плохо делать деплой

Сегодня деплой принятно производить максимально автоматизированным способом -- т.е. писать скрипты (или использовать готовые инструменты), которые автоматизируют:

  • перенос кода проекта,
  • его адоптацию (скажем, разворот данных бд)
  • и запуск на новой машине.

Перенос системы с одной машины на другую должен быть "приятным процессом", а не собиранием её (системы) руками по кускам (файлам), сопровождающимся танцами с бубном.

Примеры систем для развертывания ("деплоиинга")

  • Для PHP есть Deployer -- умеет перенести на сервер конкретную ветку СКВ, ему можно написать задачи типа "выполни миграции после выкачивания ветки" на боевой сервер.
  • Универсальным знаменитым средством деплоя и сборки (а также для автоматизации других задач) является Jenkins

Key Words for FKN + antitotal forum (CS VSU):