Tôi đã có một triển khai MSDeploy làm việc tốt đẹp với TeamCity khi tôi thông qua các thông tin người dùng. Các tham số dòng lệnh (sử dụng các biến env cho một số giá trị) là:Làm cách nào để triển khai bằng MSDeploy và TeamCity với Xác thực Windows Tích hợp?
MSBuild.exe Web.csproj
/P:Configuration=%env.Configuration%
/P:DeployOnBuild=True
/P:DeployTarget=MSDeployPublish
/P:MsDeployServiceUrl= https://%env.TargetServer%/MsDeploy.axd
/P:AllowUntrustedCertificate=True
/P:MSDeployPublishMethod=WMsvc
/P:CreatePackageOnPublish=True
/P:UserName=%env.AdminUser%
/P:Password=%env.AdminPassword%
Làm việc tuyệt vời. Nhưng bây giờ tôi muốn sử dụng auth tích hợp. Tôi đã cố gắng theo gợi ý của Troy qua từ Can MSBuild deploy using integrated authentication or only basic? nhưng nó không làm việc lừa. Tôi đã thử các kết hợp khác nhau để chuyển vào tên người dùng trống và chỉ định
/p:AuthType=NTLM
Gần nhất tôi nhận được bằng cách chỉ định/p: AuthType = NTLM và chuyển vào tên người dùng trống. Nhưng điều đó vẫn dẫn đến lỗi này:
Connected to the destination computer ("[my destination server name]") using the Web Management Service, but could not authorize. Make sure that you are using the correct user name and password, that the site you are connecting to exists, and that the credentials represent a user who has permissions to access the site. The remote server returned an error: (401) Unauthorized
Tôi có Dịch vụ quản lý web chạy trên cả máy chủ cục bộ và máy chủ từ xa. Tôi đã thay đổi cả hai trường hợp để chạy với tư cách là người dùng mà tôi biết có quyền truy cập thích hợp vào trang web - cùng một người dùng hoạt động nếu tôi tự chuyển qua bằng chứng xác thực.
Tôi cũng đã thử cho phép người dùng đó quyền quản lý IIS trên trang đích (mặc dù không chắc chắn lý do tại sao điều đó là cần thiết vì người dùng có thể xuất bản lên trang web khi thông tin đăng nhập của họ được chuyển theo cách thủ công).
Một điều tôi nhận thấy là trong nhật ký WMsvc nó không ghi nhật ký bất kỳ tên người dùng nào cho các lần thực hiện với xác thực NTLM.
Bất kỳ ý tưởng gì đang xảy ra ở đây. Tôi thực sự không muốn lưu trữ thông tin người dùng trong cấu hình TeamCity của mình.
Cảm ơn.
Xem nhận xét ở trên. Câu trả lời ngắn gọn, nó có. – user1035941