如何配置发布配置为使用NTLM身份验证(How to configure the publish p

2019-08-01 18:52发布

在Visual Studio 2012,使用具有网络部署以及发布配置简化了部署颇有几分。 但是它仍然缺少一些东西,也可以是我不知道如何使用它。

  • 我更喜欢使用NTLM身份验证,而不存储在发布配置的用户名和密码(尤其是)。 如何才能做到这一点? 如果我离开的用户名和密码为空,我提示。 有没有像手动修改.pubxml文件的方法吗?
  • 为什么存储在用户名/密码PublishProfileName.pubxml我在源代码控制,而不是在已检查PublishProfileName.pubxml.user是本地到每个用户? 我至少可以保存用户名,但显然不希望这样的签入。
  • 配置本身不是一部分PublishProfileName.pubxml而是保存在PublishProfileName.pubxml.userLastUsedBuildConfiguration
  • 同为平台的最后一个点。
  • 我也失踪了多服务器部署的支持。 我目前被迫使用批处理文件中除了发布配置文件。

编辑

对于出版工作正常的命令行

MSBuild.Exe MyProject.sln /p:Configuration=QA /p:DeployOnBuild=true;PublishProfile=PublishToQA;AllowUntrustedCertificate=true /p:authType=NTLM /p:UserName=

在此,我想省略/p:Configuration=QA如果配置成为发布配置本身的一部分。

Answer 1:

有些问题的答案。

  • 我更喜欢使用NTLM身份验证,而不存储在发布配置的用户名和密码(尤其是)。 如何才能做到这一点? 如果我离开的用户名和密码为空,我提示。 有没有像手动修改.pubxml文件的方法吗?

您的认证通常是通过Web部署如何托管驱动。 默认情况下,如果你使用的是网络管理服务,那么你使用的是IIS用户的身份验证。 在IIS用户,您可以控制哪些用户有权限特定的网站/应用。 您可以配置WMSVC使用Windows验证,以及虽然。 如果您在使用VS那些场景的问题让我知道。 如果您使用的是远程代理服务托管Web部署那么在这种情况下,你将使用Windows验证。

  • 为什么存储在用户名/密码PublishProfileName.pubxml我在源代码控制,而不是在已检查PublishProfileName.pubxml.user是本地到每个用户? 我至少可以保存用户名,但显然不希望这样的签入。

我们有另一种机制让你决定哪些信息是私人/共享。 随着密码之外的所有发布的信息是共享的( 并且默认选中的 )。 为了简化设计,你可以有一个发布该共享的个人资料,或不共享在所有之一。 有没有在中间的,你有一个配置文件,有些字段是共享的,其他没有。 密码专用套管这里和在每个用户/每台机器的基础上在.pubxml.user文件加密。

如果你想有一个私人发布配置文件,那么你根本无法检查在对应于发布配置的.pubxml文件。 这些都存储在属性\ PublishProfiles(或我的项目\ PublishProfiles用于VB),只是从项目中排除,不检查的文件。发布对话框寻找磁盘上的配置文件,不只是那些这是在该项目。 一切都应该继续工作。

我们不支持有选择地存储值在.pubxml.user文件的概念。 发布对话框将只存储在该文件中值的定数。 代替

  • 配置本身不是一部分PublishProfileName.pubxml而是保存在PublishProfileName.pubxml.userLastUsedBuildConfiguration
  • 同为平台的最后一个点。

这是它应该被存放在.pubxml文件,而不是.pubxml.user文件是错误的。 我们已经因为固定这一点,但还没有来得及松开更新呢。

配置属性不能在发布配置文件进行设置。 配置属性是构建过程中的核心部分。 更具体地讲,为什么我们没有把这个属性配置的原因是因为.pubxml文件导入的.csproj的定义/ .vbproj在构建和发布。 由于其他属性都基于配置中定义一旦它被设置你不能改变的值。 我只是用了太多细节上的博客,在这个问题http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx 。 这种限制是一个MSBuild的事情不是发布限制。 对于命令行应以下列方式指定配置:msbuild.exe myproj.csproj /p:...(other属性)... / P:配置=

  • 我也失踪了多服务器部署的支持。 我目前被迫使用批处理文件中除了发布配置文件。

我们没有这种直接的支持,但如果你对你的需求,扩大我或许可以提供帮助。 FYI我有,你可能感兴趣的一个扩展。我已经发布了5分钟的视频http://sedodream.com/2012/03/14/PackageWebUpdatedAndVideoBelow.aspx 。



Answer 2:

你可以随意选择(鼓励)手动编辑pubxml文件,可以随意删除密码。

要切换到NTLM,更改AuthTypeNTLM第一PropertyGroup

PlatformConfiguration仍然建立配置, user文件只是存储他们这样的Visual Studio知道你展开最后的配置了。

通过多台服务器,你的意思是Web场? 如果是的话,你可以尝试寻找在Web场框架基本上执行MSDeploy从主服务器到其他同步。

或者,您可以切换到命令行并使用postSync上传并从那里触发其他部署在远程服务器上执行批处理文件。



文章来源: How to configure the publish profiles to use NTLM authentication