В начале была секта. И в секте была анархия. И каждый делал проект и каждый настраивал сам всю инфаструктуру. И каждый деплоил в пятницу сам. И было так. Но однажды темный властелин Саурон создал
Один проект чтобы править всеми
Один, чтоб все объединить
Один проект, чтоб деплоить в понедельник
Один, чтоб легче было жить
Перевод на человеческий:
ebpm-deploy - программа, представляющая собой средство для безопасного, быстрого и удобного развертывания проектов на сервере/серверах. Она позволяет одной командой сформировать пакет из исходного кода, бинарника или репозитория и затем запушить его на сервер и установить его.
Документация
Чтобы начать работать с ebpm-deploy, нужно настроить ebpmd-server на своем сервере. Если он уже настроен, и у вас есть токен доступа, то вы можете двигаться уже дальше.
I. Настройка ebpm-deploy
Установите локальный пароль для зашифрованного хранения токенов:
Добавте токен в ebpm-deploy следущей командой:
II. Инициализация проекта
В папке с проектом введите эту команду:
Она инициализирует текущую директорию как пакет, добавив туда манифест сборки пакета. Если получится, то система автоматически определит тип проекта, язык и тд и постарается сконфигурировать файл самостоятельно. Во время инициализации вам будет предложенно, на какой сервер загружать проект.
III. Деплой на сервер
Чтобы задеплоить на сервер проект, достаточно просто вызвать эту команду:
После чего вам предложат ввести пароль и проект автоматически будет запущен на сервере.
IV. Манифест проекта
В идеале вам не должно понадобиться редактировать манифест и ebpm-deploy должен сам все настроить. Но тем не менее. Манифест представляет собой yaml файл:
Команды в пространстве general выполняются внезависимости от ос, на которой собирается пакет. Вот список команд:
- pack
- all - пакует все файлы в пакет
- specify [пакеты] - пакует определенные файлы в пакет
- exclude - позволяет исключить из пакета файлы
- sh - вызывает shell команду
В секциях windows и linux вызываются нативные команды в зависимости от используемой ос при сборке пакета. Секции сборки могут повторятся и будут выполнятся согласно своему порядку. Например:
В секции run
находится команда запуска, которая вызывается при запуске проекта на сервере. В ней находятся обычные bash команды как и в секции linux