Публикация веб-сайта Visual Studio с использованием SCP/SFTP

Есть ли способ опубликовать веб-сайт из Visual Studio 2008 с помощью SCP или SFTP? Я знаю, что можно публиковать в моей локальной файловой системе, а затем выполнять передачу с помощью SCP, но мне бы хотелось что-то более плавное (например, часть Visual Studio). Есть ли эта функция? Возможно, добавление?

Ответ 1

Встроенная система для публикации страниц немного ограничена.

Одна вещь, которую я нахожу полезной, - это WinSCP, есть функция, называемая "Хранить удаленный каталог до даты". То, что он будет делать, это установить кучу наблюдателей файловой системы для вашей локальной системы, и если вы что-то измените локально, она автоматически загрузит его. Использование этого и публикация в локальном каталоге упрощает работу.

Ответ 2

Если у вас установлена ​​подсистема Windows 10 и bash/linux, а сервер Linux/BSD вы можете:

Объединить ssh и rsync

  • из visual studio, опубликуйте в папке, скажем I:/www/WebProject
  • используйте эту команду, которая только обновляет изменения и удаляет файлы, которые были удалены/отсутствуют в папке публикации благодаря --delete

bash -c "rsync -avH --delete --progress /mnt/i/www/WebProject -e ssh server:/var/www/"

Подготовка (один раз)

Вам нужно немного поработать, чтобы позволить ssh работать без пароля, но с ключами.

  • скажем, ваше имя пользователя bash также на сервере; если нет, просто используйте [email protected]

  • назовите ваш сервер:

    • добавить xx.xx.xx.xx server в файл c:/windows/system32/drivers/etc/hosts)
    • добавьте сервер на хосты из bash с помощью sudo echo "xx.xx.xx.xx server" >> /etc/hosts
  • из bash, сгенерируйте свои ключи:

ssh --keygen затем [enter] (без кодовой фразы)

  • отправьте свой открытый ключ на сервер в домашней папке:

scp ~/.ssh/id_rsa.pub servername:~/

  • с вашего сервера (ssh server затем пароль):

cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pub

Теперь вы можете ssh и scp без пароля. IMO это лучше, чем filezilla или просто scp.