вторник, 13 августа 2013 г.

Pycharm - работаем удаленно.

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

Но! Я не программист а сисадмин, и следовательно у меня другие мысли на этот счет. Кроме того - у меня далеко не одно рабочее место, не один ПК и уж тем более не одна ОС.... Даже на глаз получится пара ОС на рабочем ПК, пара на домашнем, пара на домашнем Буке, пара на рабочем...  В целом хватает...

Чего же я хочу ? Я хочу что бы в независимости от того за каким ПК я сейчас нахожусь удобно и комфортно работать со своим Python/django  проектом который расположен на машинке к которой у меня есть доступ с любой точки, при этом не испытывать лишнего геммороя с свном и прочей лабудой, если мне вдруг необходимо поработать в силу некоторых обстоятельство под виндой или наоборот - под линуксом, или если я вдруг оказался дома :)

Великая питоно IDE "Pycharm" предоставляет нам такие механизмы. Но я отказался юзать встроенные методы предложенные разработчиками в силу их нелогичности и неудобства. По сему схема такая - в своей рабочей ОС мы просто монтируем раздел\диск а в пишарме - настраиваем удаленный интепритатор питона. Учитывая, что некие настройки хранятся в папке с проектом, используя такой метод - на выходе мы будем иметь все красиво и одинаково. Чего собственно мы и добивались.

Итого. Пункт 1. - подключить локально каталог с файлами.
На самом деле - выбор метода огромнейший, и каждый волен выбирать что ему больше по душе.  Про виндаус варианты я упоминать вобще не буду, ибо это будет уже холивар. Под линуксом, я остановил свой выбор на sshfs

Так что быстренько в своем любимом дистрибутиве открываем консоль и запускаем что-то типа этого

Debian distributivs
sudo apt-get install sshfs
Arch
pacman -S sshfs
Остальные дистры по аналогии...

Для примера, у меня есть удаленный сервер на котором крутится мой проект.
Пусть проект на сервере находится по пути
/home/django/projdir

Создадим у себя локально на компе папку к которой будем монтировать
mkdir /home/kobzar/PycharmProjects/projdir

И примаунтим теперь наш удаленный репозиторий себе на машинку
sshfs user@remote.ip:/home/django/projdir /home/kobzar/PycharmProjects/projdir

После чего, запускаем Пишарм, переходим в настройки, далее идем в
Project interpriter - Python interpriter
Нажимаем добавить и выбираем "Remote"
забиваем данные серввера, логин и пароль (для арча надо к примеру добавить версию питона в строке интеприратора например python2 или python3)  и нажимаем окей.
После чего возвращаемся в меню и открываем папку с проектом. Вуаля !!!
наслаждаемся.


Послесловие:
Зачем так извращаться? Ну например как я уже сказал выше - я нахожусь дома, на работе , с ноутом... но при этом у меня всегда есть SSH доступ к моему серверу где крутится мой проект, так почему бы мне не использовать тот же ssh для удобной и комфортной разработки в любимом ИДЕ ? при этом не заморачиваясь синкать проэкт и так далее каждый раз как я меняю место дислокации ???  В целом для меня этот метод очень удобный. Буду рад, если кому либо пригодилась данная мысль ..