От Mac к EC2 - проблема треугольника системы управления версиями - git? rsync? WTH?

Имею повседневный экземпляр EC2. (Обратите внимание, что изменение IP-адресов каждый раз, когда вы их перезапускаете, представляет собой дополнительную проблему.)

В экземпляре есть папка /, и у меня есть простой (скажем) проект Node в папке (mysql, express и т. Д.). Скажем так, это веб-сайт.

Итак, разработка на моем Mac ... как с этим бороться?

Можно запустить репозиторий git на экземпляре EC2, отредактировать локально на моем Mac и нажать ... но URL-адрес всегда меняется, неприятно.

Я считаю, что в Visual Studio Community нет, к сожалению, возможности удаленного редактирования.

(И действительно, вы все равно хотите получить код, хранящийся где-нибудь в репо.)

Я мог бы просто иметь репозиторий git (или репозиторий svn) на одном из моих серверов и каждый раз переходить в треугольник ... толкать ... тянуть ... кажется неудобным.

Придется постоянно толкать, тянуть вручную.

Я счастлив просто использовать Nano в оболочке, но, знаете, у вас не будет автозаполнения и красивых цветов.

Удивительно, но я считаю, что лучшим решением является использование клиента sftp Transmit за $ 2 (отлично спроектированный) на Mac ... они включали кнопку «редактировать с помощью ... выбрать .. Visual Studio» - ура Передай! Каждый раз, когда вы сохраняете, он отправляется экземпляру. Это работает, но Vis. не понимает, что это полное "решение", это просто файл за файлом, который хромает.

Кажется удивительным, что у этой «проблемы треугольника» нет повседневного решения - как?


person Fattie    schedule 29.06.2019    source источник
comment
Вы говорите, что статический IP-адрес исправит ситуацию, или вам все равно понадобится метод для удаленного редактирования?   -  person John Rotenstein    schedule 30.06.2019
comment
хороший момент, @JohnRotenstein - даже со статическим IP-адресом это все еще треугольник, и я не знаю лучшего решения.   -  person Fattie    schedule 30.06.2019
comment
@Fattie Было бы довольно легко автоматизировать треугольник, в котором цель может автоматически инициировать вытягивание, когда обнаруживает изменение в репо.   -  person cfiske    schedule 30.06.2019
comment
@cfiske - тебе легко сказать, ты знаток :) :) Почему бы не поставить ответ! Я добавлю грандиозную награду за этот канонический вопрос   -  person Fattie    schedule 30.06.2019
comment
Здесь есть множество ответов на код Mac + Visual Studio: Как использовать VSCode для удаленного редактирования файлов веб-сайтов Они могут иметь отношение к Visual Studio Сообщество тоже. Также: Локальное редактирование удаленных файлов в OSx   -  person John Rotenstein    schedule 01.07.2019


Ответы (2)


Я могу придумать два способа решить эту проблему:

  1. Создайте эластичный IP-адрес и свяжите это с вашим экземпляром. Тогда ваш IP не меняется. (Лично я бы все равно создал для него DNS-имя. Его легче запомнить, когда вам нужно, и оно может описывать, что такое хост.)

Не может быть проще, но трудно найти

  • перейдите к своему экземпляру EC2
  • в левом столбце нажмите "Эластичные IP-адреса" в разделе "Сеть и безопасность". (Не «Магазин эластичных блоков»)
  • просто нажмите "Распределить" - готово

введите здесь описание изображения

  1. Используйте решение динамического DNS, такое как описанное здесь. Тогда ваш URL-адрес git может быть фиксированным именем вместо изменяющегося IP. После настройки ваш экземпляр может обновлять запись DNS при изменении своего IP-адреса.
person cfiske    schedule 29.06.2019
comment
Бинго! Фактически, эластичный IP AWS отлично решает эту проблему. Большое спасибо! - person Fattie; 13.09.2019

Я вижу эластичный IP-адрес, позволяющий нажимать напрямую. Пара дополнительных опций

Ознакомьтесь с вариантами интеграции aws-cli, которые развертывают код (обычно в s3), а затем запускают экземпляры ec2, прикрепленные к коду для запуска веб-сайтов.

Или вы можете опубликовать свою работу в github (публичное или частное репо) и иметь механизм, позволяющий подключать и извлекать экземпляр EC2 к его локальному хранилищу (я предполагаю, что у него есть какой-то постоянный образ).

Варианты уведомлений включают периодическую загрузку файла версии, метод запуска в вашем веб-приложении и т. Д.

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

person simon coleman    schedule 16.10.2019