在Visual Studio 2012,使用具有网络部署以及发布配置简化了部署颇有几分。 但是它仍然缺少一些东西,也可以是我不知道如何使用它。
- 我更喜欢使用NTLM身份验证,而不存储在发布配置的用户名和密码(尤其是)。 如何才能做到这一点? 如果我离开的用户名和密码为空,我提示。 有没有像手动修改.pubxml文件的方法吗?
- 为什么存储在用户名/密码
PublishProfileName.pubxml
我在源代码控制,而不是在已检查PublishProfileName.pubxml.user
是本地到每个用户? 我至少可以保存用户名,但显然不希望这样的签入。 - 配置本身不是一部分
PublishProfileName.pubxml
而是保存在PublishProfileName.pubxml.user
为LastUsedBuildConfiguration
。 - 同为平台的最后一个点。
- 我也失踪了多服务器部署的支持。 我目前被迫使用批处理文件中除了发布配置文件。
编辑
对于出版工作正常的命令行
MSBuild.Exe MyProject.sln /p:Configuration=QA /p:DeployOnBuild=true;PublishProfile=PublishToQA;AllowUntrustedCertificate=true /p:authType=NTLM /p:UserName=
在此,我想省略/p:Configuration=QA
如果配置成为发布配置本身的一部分。
有些问题的答案。
- 我更喜欢使用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.user
为LastUsedBuildConfiguration
。 - 同为平台的最后一个点。
这是它应该被存放在.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 。
你可以随意选择(鼓励)手动编辑pubxml
文件,可以随意删除密码。
要切换到NTLM,更改AuthType
到NTLM
第一PropertyGroup
。
Platform
和Configuration
仍然建立配置, user
文件只是存储他们这样的Visual Studio知道你展开最后的配置了。
通过多台服务器,你的意思是Web场? 如果是的话,你可以尝试寻找在Web场框架基本上执行MSDeploy从主服务器到其他同步。
或者,您可以切换到命令行并使用postSync
上传并从那里触发其他部署在远程服务器上执行批处理文件。