LINUX.ORG.RU

Разработка в реальном времени на удалённом сервере

 


0

2

Удалённый сервер может быть VDS, а может быть подкроватным локалхостом. Не важно. В случае локалхоста раньше было всё просто: он одновременно выполнял роль десктопа, так что ты просто запускал любимый vim и начинал творить. Забиндил Ctrl + S на сохранение, Alt + Tab'нулся, жмякнул Ctrl + R в браузере и сайт готов. Разработка идёт быстро не отвлекаясь на всякую ерунду лишний раз, не совершая лишних телодвижений.

Как же теперь быть, если мы имеем всё тот-же подкроватный локалхост (в лучшем случае, а то и вообще это скорее всего VDS), но теперь ещё и используем прошивку для игор вместо ОС?

Такой казалось бы простой вопрос, но даже просто добавляя git как прослойку, нам уже надо совершать лишние движения вроде постоянных коммитов в репозиторий на сервере. Уже нельзя просто сохранить файлик, альт-табнутся и обновить страничку, но в идеале хотелось бы именно этих трёх действий, и чтобы при том разработка велась в реальном времени, и все изменения сразу были доступны по URL адресу в интернете.

Вести локальную разработку на LAMP, а затем коммитить изменения не хочу, т.к. нужен постоянный доступ к живой БД на сервере, хочу видеть всегда актуальную и финальную версию проекта. Но видимо других вариантов попросту нету, ага?

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

Дело даже не в том, что ОС — оффтопик, я просто ищу наилучший вариант вести удалённую разработку с отображением изменений в реальном времени, и не совершая лишних движений. Подскажите как.

★★★★★

Не совсем понял в чем именно проблема, я примерно как описано и делаю, на удалённом сервере хот-релоад на nodejs, на локальной машине на одном мониторе несколько терминалов с редактором по ссш, на другом браузер, сохраняешь файл, в браузере видишь результат. Мне норм.

ddidwyll ★★★★
()

Так вроде если по sftp открывать файл. Будет тоже самое как на локалхосте.

tyamur ★★
()
Ответ на: комментарий от ddidwyll

В качестве хот-релоад советую parcel, не требует настройки, работает шустро.

ddidwyll ★★★★
()

Если php то настроить xdebug локально в phpstorm и пробросить порты mysql по ssh, локально только исходники проекта работающие с базой на сервере, деплой одной кнопкой по sftp

Быстро и в реальном времени

Похожим образом и на других средах

ism ★★★
()
Последнее исправление: ism (всего исправлений: 4)

но теперь ещё и используем прошивку для игор вместо ОС?

Это называется X11 и Network transparency. Устанавливаете на Windows какой-нибудь X-сервер, правильно настраиваете и получаете приложение, выполняющееся на удаленной машине.

Nastishka ★★★★★
()

То что вы ищете, называется Continuous delivery (CD). Этот подход позволяет в короткие сроки доставлять рабочий! код на продакшн сервера через стадии билда, тестирования и деплоя.
Для простых проектов, где риск появления ошибки не играет роли можно использовать старый подход с правкой кода по sftp, но я вам советую освоить CI/CD подход.
Тот же GitLab предоставляет из себя отличное решения для использования этого подхода. По сути вы коммитите изменения в репозиторий, а настроенный pipeline билдит и прогоняет тесты, а в случае успешного результата тестов может и код задеплоить.

duck
()

Монтирую рабочий каталог по sftp, после этого отличий от локалхоста нет (только сохраняется немного дольше).

KivApple ★★★★★
()

Можно монтировать VDSку по sftp, можно не монтировать, а ходить по ssh прямо туда. Не все графические программы хорошо работают через ssh -X но git gui я иногда удалённо использую. Если на десктопе вантуз вместо ОС, то используй winscp. Иксы для винды тоже есть, я таскаю на флешке xming.

legolegs ★★★★★
()

т.к. нужен постоянный доступ к живой БД на сервере

mysql_host может быть не только localhost, ага

redixin ★★★★
()

Вести локальную разработку на LAMP, а затем коммитить изменения не хочу, т.к. нужен постоянный доступ к живой БД на сервере, хочу видеть всегда актуальную и финальную версию проекта. Но видимо других вариантов попросту нету, ага?

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

theNamelessOne ★★★★★
()

Дело даже не в том, что ОС — оффтопик

Настрой vpn, через него пробрасывай файловую систему через samba и подключение к БД.

no-such-file ★★★★★
()

Тебе нужен удаленный рабочий стол. В зависимости от особенностей настраивает подключение через vnc или rdp. Но потом ты все равно придёшь к git ибо возникнет вопрос бекапов/восстановления и проверки кода.

anonymous
()

Так ещё netbeans вроде умел по ftp автоматически отправлять сохраненные файлы. PhpStorm тоже должен уметь. Настройка там минимальна.

Историй успеха здесь никаких быть не может, так как такая схема подходит только для работы одного человека на тестовом сервере, куда кроме него никто не полезет.

anonymous
()

Что мешает запускать vim на удалённом сервере по ssh?

orm-i-auga ★★★★★
()

расшарь исходники с локалхоста на сервак, на время процесса работы

Ctrl + S на сохранение, Alt + Tab'нулся, жмякнул Ctrl + R

а на одну кнопку всё это забиндить слабо?

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 1)
Ответ на: комментарий от MyTrooName

а на одну кнопку всё это забиндить слабо?

IntelliJ IDEA сохраняет код при потере фокуса, nodejs (webpack hot module reload) - мониторит изменения в файловой системе и обновляет страницу (или только модули - смотря что поменялось). В итоге - чтобы увидеть изменения - достаточно переключиться в браузер. Думаю, что давно уже многие так работают.

Но я всё равно использую git, continues integration и всё остальное (не для текущих правок, конечно, а для сохранения более-менее законченных задач).

P.S. Да, сервак всегда поднимаю локальный. Так удобнее.

Qasta
()
Последнее исправление: Qasta (всего исправлений: 1)

Cоздаешь репозиторий на GitHub/GitLab, прикрепляешь к этому репозиторию ключи (да в твоем случае можно обойтись без прав push для таких ключей). Потом заливаешь ключи на vps, и добавлешь скрипт в сron, который будет делать git pull n минут. Репозиторий обновляешь только когда доволен изменениями на локалхосте.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

Если не хочется писать скрипт для крона (который и проект соберет, и автотесты прогонит, и задеплоит) - можно взять jenkins-ci.org

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

Qasta
()

dev-host: win10 + dreamweaver
rem-host: LAMP

Deleted
()

возможно тебе нужен sshfs

quester ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.