#vscode-remote
Вопрос:
Моя Цель
Я уже некоторое время использую devcontainers в сочетании с WSL2. Но я продолжаю сталкиваться с проблемами, и, кроме того, мне нравится загружать ресурсы моего ноутбука на сервер. Перемещение контейнеров на собственный сервер Linux решило бы мои проблемы.
Моя идеальная ситуация состояла бы в том, чтобы иметь решение, которое работает так же, как локально на моем ноутбуке с Windows (позже, вероятно, переедет на Macbook), но использует возможности сервера Linux (у которого есть systemd и netns), а также переносит рабочую нагрузку туда, чтобы мой ноутбук не звучал как пылесос.
Мое путешествие
Я пытаюсь настроить удаленные контейнеры, как описано здесь: https://code.visualstudio.com/remote/advancedcontainers/develop-remote-host
На самом деле контейнеры работают нормально, я использую второе решение для хранения, что означает, что я добавляю следующее в свой файл .devcontainer.json:
"workspaceMount": "source=/home/marvink/code,target=/workspaces,type=bind,consistency=cached"
И мой рабочий процесс в настоящее время выглядит примерно так:
- Локально клонировать проект (с.девконтейнер уже в проекте)
- Добавьте workspaceMount выше в devcontainer.json
- Клонировать проект на удаленном компьютере (например, в /home/marvink/код/новый проект)
- Откройте проект локально
- Сборка и повторное открытие в контейнере
- Работа с файлами на удаленном компьютере
Моя проблема
Это работает, но теперь у меня на локальном диске есть файлы, к которым никогда не прикасаются, что не идеально, но не является катастрофой, большая проблема заключается в том, когда я хочу обновить devcontainer. Мне нужно сделать это локально (в отдельном окне), вручную нужно скопировать и вставить это на пульт, если я хочу зафиксировать это в git, и, конечно, я иногда забываю об этом и пытаюсь отредактировать его удаленно, что вызывает много разочарований (и иногда кажется, что он использует удаленную конфигурацию, но это могло быть ошибкой?).
Вот почему я хочу настроить rsync в обоих направлениях для синхронизации изменений в файлах, и в качестве бонуса я могу редактировать файлы локально, когда я в автономном режиме. В ссылке описано, как это сделать вручную, но я хочу, чтобы это было автоматизировано, чтобы я не мог забыть или ошибиться.
Из Powershell я могу запустить команду rsync, которая синхронизируется в одну сторону, и я могу расширить ее до синхронизации в 2 стороны:
wsl rsync -rlptzv --progress --exclude=.git '$PWD' 'marvink@s-dev01:~/code/new-project'
Это нужно запускать локально, но я не могу найти способ сделать это. Например, мне нужно было бы выполнить задачу локально, но это невозможно при работе на удаленном компьютере (https://github.com/microsoft/vscode-remote-release/issues/168).
Наоборот, мне кажется, что это не вариант, так как я не хочу открывать какие-либо порты на своем ноутбуке, и брандмауэры будут мешать в зависимости от того, где я нахожусь.
My question
My workflow still seems a bit convoluted so I’m open to suggestions on that end but any ideas on how to sync my workspace files?