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