代码之家  ›  专栏  ›  技术社区  ›  ricksmt

为什么Web Deploy使用了错误的帐户?

  •  0
  • ricksmt  · 技术社区  · 10 年前

    当我从本地计算机上的Visual Studio启动Web Deploy时,我已经验证了它是否工作(使用NTLM授权)。现在,我希望我的构建服务器每天晚上自动部署(如果合适的话)。我在构建服务器上使用Jenkins,并且在远程计算机上授予了IIS中的帐户访问权限。MSBuild的参数如下:

    /p:DeployOnBuild=true  
    /p:Configuration=Debug  
    /p:Platform=x86  
    /p:PublishProfile=DEV  
    /p:AuthType=NTLM  
    /p:AllowUntrustedCertificate=True  
    /p:Username=
    

    这个 DEV 发布配置文件指定我的DEV服务器,它使用自签名证书,因此必须使用不受信任的证书。这个 NTLM 空白用户名应使用当前用户/帐户进行连接。

    然而 ,Jenkins作业的MSBuild步骤失败,出现此错误

    msdeploy错误error_USER_UNAUTHORIZED:Web部署任务失败。(使用Web管理服务连接到远程计算机(“DEV-SERVER”),但无法授权。请确保您使用的用户名和密码正确,您要连接的站点存在,并且凭据代表有权访问该站点的用户。了解更多信息,请访问: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED .)

    当我查看DEV-SERVER上的IIS日志时,我看到以下内容:

    2016年1月6日23:55:10 159.212.19.186头/msdeploy。axd站点=MySite 8172-159.212.19.123-401 2 5 0
    2016年1月6日23:55:10 159.212.19.186头/msdeploy。axd站点=MySite 8172 CO\BUILD-SERVER$159.212.19.123-401 2 64 78

    我希望看到jenkins的帐户CO\jenkins,而不是CO\BUILD-SERVER$。(最后的美元是什么?)我认为使用了错误的帐户是正确的吗?我需要做什么才能让这个工作?

    1 回复  |  直到 10 年前
        1
  •  1
  •   James Reed    10 年前

    CO\BUILD-SERVER$是生成服务器的计算机帐户。

    如果你有一个从机在那台机器上运行,它是作为一个windows服务运行的吗?如果是这样,它可能以“系统”运行

    另外,对于Selenium测试,如果测试在构建服务器上运行,则服务可能需要设置为交互运行,以便测试可以在UI上运行。