# Развёртывание проекта из среды разработки

Большинство современных интегрированных сред разработки (Integrated Development Environment) имеют встроенные инструменты для загрузки (деплоя) созданных проектов на сервер. Мы рассмотрим загрузку из двух наиболее популярных IDE — Visual Studio Code и PyCharm.

# Visual Studio Code

Откройте файл проекта в VSCode и измените строку вывода:

«deploy_ide»

Встроенного инструмента для загрузки проектов на сервер в VSCode нет — нужно установить одно из расширений.

В рабочей области VSCode в левом меню выберите пункт Extensions и в поиске доступных расширений укажите Deploy. В открывшемся списке выберите «Deploy»:

«deploy_ide»

Для добавления расширения к проекту нажмите кнопку Install.

Чтобы расширение заработало, папку с проектом нужно сделать рабочим пространством (Workspace): FileSave Workspace As…:

«deploy_ide»

После сохранения папка будет активирована как рабочее пространство:

«deploy_ide»

Для подключения расширений к проекту в файл с настройками рабочего пространства settings.json добавьте блок Deploy.

Откройте settings.json — в разделе меню View в пункте Command Pallette введите команду Preferences: Open Settings (JSON):

«deploy_ide»

В открывшийся файл настроек добавьте блок deploy. Блок deploy будет состоять из блоков packages и targets, описывающих протокол передачи данных и файлы, которые нужно загружать на сервер:

    "deploy": {
        "packages": [
            {
                "name": "Name_of_your_app",
                "description": "Description of your app",
                "filse": [
                    "**/*.py",
                    "/*.json"
                ],
                "deployOnSave": true
            }
        ],
        "targets": [
            {
                "type": "sftp",
                "name": "My SFTP",
                "description":"description of interface",
                "dir": "domains/j12345678.myjino.ru",
                "host": "j12345678.myjino.ru", "port": 2222,
                "user": "j12345678_deploy", "password": "password",

                "checkBeforeDeploy": true,

            }
        ]
    }
}

Блок packages описывает приложение, которое будет загружаться на сервер; "files" — файлы, которые необходимо загружать на сервер.

Параметр ”DeployOnSave” : true задаёт правило загрузки — выгружать файлы на сервер после сохранения изменений в них. Это значительно ускоряет работу.

Блок targets описывает протокол, по которому будут передаваться файлы:

  • параметры ”host”, ”port”, ”user”, ”password” — параметры для SFTP-подключения к хостингу, которые указаны в разделе меню УправлениеFTP-аккаунты;
  • dir — указание пути, куда будут помещаться файлы, относительно домашней папки FTP-пользователя.

Сохраните settings.json и проверьте работу расширения. Для этого переключиитесь на файл passenger_wsgi.py и в меню View в пункте Command Palette введите Deploy: Deploy current file/folder.

Если всё настроено правильно, в терминале появится сообщение об успешной загрузке файла на сервер:

«deploy_ide»

Перейдите в панель управления хостингом, перезагрузите веб-сервер и откройте в браузере домен, на который загрузили файл:

«deploy_ide»

# Развёртывание проекта из PyCharm

Перед началом развёртывания проекта из PyCharm также исправьте код файла:

«deploy_ide»

В PyCharm есть встроенный инструмент для загрузки проектов. Он предоставляет на выбор несколько самых популярных протоколов передачи данных. Рассмотрим настройку передачи файлов по SFTP-протоколу.

Откройте окно настроек ToolsDeploymentConfiguration:

«deploy_ide»

В открывшемся окне добавьте новый веб-сервер, который будет работать по протоколу SFTP:

«deploy_ide»

В окне настроек добавьте настройки для SSH-подключения:

«deploy_ide»

Данные для подключения представлены в разделе УправлениеSSH-подключение:

«deploy_ide»

После указания всех данных проверьте соединение Test connection. Если всё указано правильно, появится сообщение об успешном подключении к серверу:

«deploy_ide»

Нажмите Apply, вернитесь к окну настроек SFTP-соединения и также проверьте SFTP-соединение:

«deploy_ide»

В строке Rootpath нажмите кнопку Autodetect, чтобы программа автоматически определила домашнюю папку. В строке Web Server URL укажите имя домена (в нашем случае — технический адрес сервера).

Перейдите на вкладку Mappings. Укажите путь к папке, в которой находится приложение на локальной машине, и путь к папке на сервере, в которую оно будет загружаться:

«deploy_ide»

На вкладке Excluded Paths можно добавить папки и файлы, которые не будут выгружаться на сервер. Например, папку с виртуальным окружением — на сервере создано отдельное виртуальное окружение для работы приложения.

Загружать на сервер можно и всю папку сразу, и отдельные файлы проекта. Это можно сделать в разделе меню ToolsDeploymentUpload to… или в контекстном меню работы с файлами и папками DeploymentUpload to…:

«deploy_ide»

«deploy_ide»

Теперь перезагрузите веб-сервер на хостинге и удостоверьтесь, что файл успешно загрузился:

«deploy_ide»

# Ссылки на похожие статьи

Подготовка хостинга к развёртыванию проекта

Развёртывание проекта по SFTP

Развёртывание проекта с помощью git-репозитория