Bash скрипт для быстрого деплоя Python-приложения на сервер. Работает только с pipenv!
- Скрипт устанавляет соединение с сервером
- Клонирует репозиторий в заданную папку
- Синхронизирует pipenv
- Создает конфиг для supervisor
- Переходит в папку с проектом
- Приложение нужно запускать отдельно через супервизор (supervisorctl start folder_name)
- В файле deploy заполнить ip сервера и username (имя пользователя на сервере). Опционально можно настроить название скрипта на сервере, если сохраняете его под другим именем.
- Скопировать (или создать новый) файл deploy_on_server в /usr/bin на сервере
- Скопировать (или создать новый) файл deploy в /usr/bin на локальной машине
deploy <server_username> <git_repository_link> <folder_and_process_name> <run_file_name>
Команда deploy принимает на вход 4 переменные:
- Имя пользователя на сервере
- Ссылка на репозиторий (если репозиторий приватный — настройте ssh ключи)
- Название папки, куда будет склонирован репозиторий. Она же название процесса в supervisorctl
- Имя запускаемого файла вашего приложения (например, run.py)
deploy root git@github.com:me/my_repo.git open_business run.py