Integruję MSDeploy z moim procesem kompilacji i mam problemy z uwierzytelnianiem. Następujące polecenie działa prawidłowo:MSDeploy.exe może łączyć się jako Administrator, ale nie z żadnym innym kontem Windows.
msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=Administrator,password=secret -dest:package=c:\DeployTest\KPC.zip
Jednakże, to nie działa:
msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=kpcpublish,password=secret -dest:package=c:\DeployTest\KPC.zip
I daje błąd:
Error Code: ERROR_USER_NOT_ADMIN
More Information: Connected to '192.168.0.11' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administ
rator on '192.168.0.11'. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.
Error: The remote server returned an error: (401) Unauthorized.
Error count: 1.
mam przestrzegać instrukcji w linku powyżej, i dowolne other docs I could find, które prawie wszystkie mówią to samo:
- Założyłem konto o nazwie kpcpublish
- dodałem to konto do grupy o nazwie MSDepSvcUsers - Heck, nawet dodał do administratorów
- I kliknięciu prawym przyciskiem myszy na stronie i wybranych Deploy-> Konfiguracja Web Deploy Publishing i dodano kpcpublish do listy. Jest napisane:
.
Publish enabled for 'SERVER\kpcpublish' Granted 'SERVER\kpcpublish' full control on 'C:\Website' Successfully created settings file 'C:\Users\Administrator\Desktop\SERVER_kpcpublish_KitchenPC.PublishSettings'
Nie musi być jakiś krok mi brakuje, ale ja po prostu nie może dowiedzieć się, co może być.
UPDATE:
Korzystanie pełną ścieżkę HTTP dla właściwości computerName
, pojawia się błąd:
Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("192.168.0.3"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DES TINATION_NOT_REACHABLE. Error: Unable to connect to the remote server Error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection fa iled because connected host has failed to respond 192.168.0.3:8192 Error count: 1.
Sprawdziłem i Web Service Management jest rzeczywiście działa.
Kolejna aktualizacja:
mam całkowicie betonowa system i ustawić go ponownie od zera. Nie zrobiłem nic niezwykłego, właśnie zainstalowałem rolę IIS i sprawdziłem "Zarządzanie usługą" w Narzędziach zarządzania, które są wymagane do uruchomienia WMSVC. Następnie zainstalowałem Web PI i zainstalowałem "Zalecaną konfigurację dla dostawców hostingu", która zainstaluje Web Deploy 3.0. Jednak zauważyłem, że wystąpił błąd podczas instalowania tego (wydaje mi się, że dostałem ten błąd również po raz ostatni). Wygląda to tak:
Ja również dołączone pliki dziennika here.
Potem próbowałem ręcznie zainstalować Web Deploy 3.0, ale jest napisane, że jest już zainstalowany. Następnie pobrałem MSI bezpośrednio z http://www.iis.net/download/webdeploy i uruchomiłem go w trybie "Napraw". Wydaje się, że zadziałało. Zauważyłem również, że usługa WMSVC jest uruchomiona. Wygląda to dobrze.
Mimo to usługa MSDeploy nie będzie się łączyć. Pomyślałem, że to może być jakiś problem z firewallem, więc uruchomiłem go lokalnie. Próbowałem użyć połączenia HTTPS i HTTP do połączenia.HTTPS daje mi błąd, HTTP po prostu wygasza po 2-3 minutach.
HTTPS:
msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'f3a54096-adc4-4f54-9e4f-ad8fde12edb6' for connections to the remote server.
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED
More Information: Connected to the remote computer ("staging") using the specified process ("Web Management Service"), but could not verify the server's certifi
cate. If you trust the server, connect again and allow untrusted certificates.
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED.
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Error: The remote certificate is invalid according to the validation procedure.
Error count: 1.
HTTP:
msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=http://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'ebee66f0-08e5-4d9d-98ea-0c2e59784895' for connections to the remote server.
Error: Could not complete the request to remote agent URL 'http://staging:8172/msdeploy.axd'.
Error: The operation has timed out
Error count: 1.
tylko jedna myśl: plik "SERVER_kpcpublish_KitchenPC.PublishSettings" nie powinien być przechowywany gdzieś w folderze wdrażania, a nie na pulpicie? – SearchAndResQ
@Flakes - Nie śledzenie. Na razie próbuję tylko zsynchronizować się z serwera WWW z lokalnym archiwum zip, aby upewnić się, że wszystko działa. Naprawdę nie jestem pewien * co * zrobić z plikiem PublishSettings, myślałem, że to było tak, że nie trzeba wpisywać wszystkich informacji o połączeniu w wierszu poleceń. –
Plik ustawień jest istotny tylko wtedy, gdy używasz go do wprowadzania wartości do plików konfiguracyjnych podczas wdrażania. – ulty4life