Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 27, 2020 17:06:38

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

freeddos слишком расплывчатая формулировка, если вам для работы с веб фреймоврками то вроде жи пайчарм умеет такое изкаробки https://www.jetbrains.com/help/pycharm/configuring-remote-interpreters-via-ssh.html#
Хотя вот есть еще вот такой колхоз https://habr.com/ru/post/256433/ для комьюнити едишина.

freeddos
загружаться на GitHub он не будет.
git это не GitHub вы можете поднять свой git-сервер с преферансом и стюардесами, благо это достаточно просто, куда кроме вас никто не будет иметь доступа.https://habr.com/ru/company/ruvds/blog/359216/



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#2 Янв. 27, 2020 18:20:04

freeddos
Зарегистрирован: 2019-08-04
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

Да это будут не большие проекты рабочие типа web api которые будут дергать информацию из разных мест.
И хотелось бы вести разработку в windows и потом все что наизменяли и на программировали попало в продакшн.
Если это делается средствами git, то правильно я понимаю что для pycharm нужен плагин и как то прикрутить его к работающему серверу где крутиться продакшн?

Офлайн

#3 Янв. 27, 2020 18:28:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

freeddos
то правильно я понимаю
вы понимаете совсем не правильно
для понимания вам надо прочитать туториал по гиту



Офлайн

#4 Янв. 28, 2020 07:04:31

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

И хотелось бы вести разработку в windows и потом все что наизменяли и на программировали попало в продакшн.
Непонятно, при чём тут вообще git или svn. Они нужны для самого процесса разработки, чтобы можно было в любой момент откатиться 1 или 10 шагов назад.
А для простого “закидывания” результата работы на сервер (неважно, линукс, винда или что-то другое) нужны отдельные средства. Да, это могут делать GitHub или (удобнее) GitLab (но это надо как-то настраивать).
Но я не понимаю, почему для “маленьких проектов” недостаточно просто закинуть каталог с помощью FAR'а на сервер. А потом через Putty перезапустить сервис на сервере. Тут всех действий на 1-2 минуты.



Отредактировано Striver (Янв. 28, 2020 07:13:44)

Офлайн

#5 Янв. 28, 2020 07:54:59

freeddos
Зарегистрирован: 2019-08-04
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

Я согласен что можно закидывать в ручную.
А так же пакеты устанавливать в ручную и перезапускать.
Просто хочется понять удобные практики как это делают “взрослые дяди”.

А так же меня интересует такой момент с докер контейнерами. Я так понимаю что можно создать контейнер у себя на windows (с недавнего времени по статьям вроде все хорошо в виде м ними). Разрабатывать прям в контейнере у себя на локальной машине. А потом когда нужно убивать контейнер на сервере и переносить уже с разработкой (тогда и пакеты будут на месте и сам исходный код).
Можно ли из pycharm прям в контейнере редактировать и запускать код?

Офлайн

#6 Янв. 28, 2020 08:32:05

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

freeddos
или как обычно это делается (разрабатывать на windows и выкладывать на linux)
Очень легко! Так обычно не делается.
1. Разработку крайне желательно вести на той ОС на которой будет применяться ПС.
2. Большинство разработчиков и особенно для web не ведут разработку на windows
3. Деплой приложения на рабочий сервер выполняется редко. Не слышал чтобы ктото заморачивался с автоматизацией.
4. Не знаю как у других, но у меня ide это редко используемая штука. Скорее консоль в разных вариантах.
И в консоли очевидно организовать на удаленной машине цикл останов службы/обновление кода/запуск службы например при помощи ssh вообще не проблема. Скорее всего в неназванной вами ide тоже есть такая возможность вызвать скрипты командной оболочки.
5. Очевидно что большинство ide поддерживают и удаленную отладку.

p.s.
очевидно перезалить файлы можно, но это неудобно, как писали 1-2 минуты
гитом вытащить актуальную версию это секунды.
Установка зависимостей разовая процедура. Но если у вас много машин… ну тогда вам в saltstack/ansible.



Офлайн

#7 Янв. 28, 2020 09:43:46

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

Просто хочется понять удобные практики как это делают “взрослые дяди”.
Не знаю, кто такие “взрослые дяди”, но…

У нас до определённого момента велось 5 небольших проектов, на которых работало 2-5 человек, нам за глаза хватало 1-3 раза в день закидывать файлы вручную, никаких “неудобств” это не вызывало. А уж добавлять библиотеки зависимостей совсем редкий случай.
Сейчас у нас проект помасштабнее, на котором больше 10 человек, и тут уже настроили локальный GitLab, в котором настроили скрипты так: после Push автоматом выполняются тесты, затем, если они проходят без ошибок, обновляется сервер и перезапускается.
При этом часть парней у себя используют линукс, часть винду, по своим предпочтениям.



Отредактировано Striver (Янв. 28, 2020 09:46:05)

Офлайн

#8 Янв. 29, 2020 21:55:31

mc-black
От: Нижний Новгород
Зарегистрирован: 2019-09-25
Сообщения: 16
Репутация: +  0  -
Профиль   Адрес электронной почты  

Деплой python приложения. Разработанных в windows.

Ребята, уважаемые эксперты, мне кажется вы (не все) поняли вопрос топикстартера. У меня он тоже возникал и кажется я получил ответ такой:

doza_and
1. Разработку крайне желательно вести на той ОС на которой будет применяться ПС.

Просто сам столкнулся с тем, что начал изучать Flask по туториалу Мигеля, при этом всю разработку-отладку вел в Windows. И мне интересно, сущетсвуют ли умные штуки, которые позволят “переформатировать” venv таким образом чтобы сохранить те же версии python и зависимостей, но заменить всё окружение на исполнимое в *nix-хостинге.

Правильно я понял, что такой халявы нет и надо было изначально вести разработку в linux, или в wsl под windows? В этом случае мне придется “пересоздать” venv в nix с установкой той же версии python и зависимостей. И практик получше нет?

Отредактировано mc-black (Янв. 29, 2020 21:58:14)

Офлайн

#9 Янв. 29, 2020 23:15:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Деплой python приложения. Разработанных в windows.

mc-black
Правильно я понял, что такой халявы нет
Не совсем правильно поняли.
У опытного разработчика обновление его пакета в питоне будет выглядеть одинаково.
типа pip3 install -U you_pack. С точки зрения питона полная халява, все одинаково даже никакой venv не требуется.
Но есть тонкости. Как вы будете останавливать и запускать службу? Да в windows и unix это делается разными способами.
Как вы запускаете приложение? в windows python some.py в unix python3 some.py
Разница в соглашениях о путях, в способах установки прав доступа, разница в кодировках, разница в установке UTC time,….. и т.д. и т.п.
Наконец требуются просто разные навыки при работе в разных ОС.
Если вы используете 2 разные ОС эта работа удваивается если 3 утраивается и т.д. Поэтому лучше использовать одну ОС, благо они не сильно отличаются по функционалу.



Отредактировано doza_and (Янв. 29, 2020 23:15:51)

Офлайн

#10 Янв. 30, 2020 10:09:43

mc-black
От: Нижний Новгород
Зарегистрирован: 2019-09-25
Сообщения: 16
Репутация: +  0  -
Профиль   Адрес электронной почты  

Деплой python приложения. Разработанных в windows.

Спасибо за разъяснения. Ну значит Linux второй системой на домашнем ноутбуке быть.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version