Czy istnieje sposób na opublikowanie strony internetowej z Visual Studio 2008 przy użyciu SCP lub SFTP? Wiem, że możliwe jest opublikowanie w moim lokalnym systemie plików, a następnie wykonanie transferu za pomocą SCP, ale chciałbym coś bardziej płynnego (np. Część Visual Studio). Czy ta funkcja istnieje? Być może dodatek?Visual Studio Publish Website Using SCP/SFTP
Odpowiedz
Wbudowany system do publikowania stron jest nieco ograniczony.
Jedną z rzeczy, które uważam za przydatną, jest funkcja WinSCP, dostępna jest funkcja o nazwie "Zachowaj zdalny katalog do aktualności". To, co zrobi, to ustawić grupę obserwatorów systemu plików dla twojego lokalnego systemu, a jeśli coś zmienisz lokalnie, to automatycznie go załaduje. Używanie tego i publikowanie w lokalnym katalogu ułatwia.
Jeśli masz Windows 10 i zainstalować bash/linux podsystem i/serwer BSD Linux można:
Kombajny SSH i rsync
- z visual studio, publikowania w folderze powiedzieć
I:/www/WebProject
- użycie tego polecenia, które uaktualnia jedynie zmiany i usuwać pliki, które zostały usunięte/nieobecny publikować folderów dzięki
--delete
bash -c "rsync -avH --delete --progress /mnt/i/www/WebProject -e ssh server:/var/www/"
Przygotowanie (zrobić raz)
trzeba trochę popracować, aby umożliwić pracę ssh bez hasła, ale z kluczami.
Załóżmy, że Twoja nazwa użytkownika bash jest taka sama na serwerze; jeśli nie, to po prostu użyć
[email protected]
nazwa serwera:
- dodać
xx.xx.xx.xx server
do plikuc:/windows/system32/drivers/etc/hosts
) - dodać serwer do hostów z bash z
sudo echo "xx.xx.xx.xx server" >> /etc/hosts
- dodać
z bash, wygeneruj klucze:
ssh --keygen
następnie [Enter] (nie hasło)
- wysłać swój klucz publiczny do serwera, w katalogu domowym:
scp ~/.ssh/id_rsa.pub servername:~/
- z serwera (
ssh server
następnie hasło):
cat id_rsa.pub >> .ssh/authorized_keys && rm id_rsa.pub
Teraz możesz ssh
i scp
bez hasła. IMO jest o wiele lepszy niż filezilla lub po prostu scp.
Zręczna funkcja, nie wiedziałem, że istniała do tej pory. Szkoda, że Filezilla nie oferuje czegoś takiego. –