我们认为这是一个相当标准的构建过程:1.开发人员:签入代码2.构建:轮询repo,查看更改,并启动构建:3.构建:来自repo的更新,构建w/MSBuild,运行单元测试w/nunit,4.构建:创建安装程序包
我们的安全团队允许我们从构建服务器中提取,但不允许构建服务器推送.因此,我们通常会对安装程序进行操作,然后运行它们,这将排除光滑的部署服务,因此我需要生成软件包.我想使用MSDeploy,除了我们有以下问题:
有什么建议?
在.NET 4.0中使用msbuild,我可以使用"Package"目标构建Web项目,并且可以将包放在zip文件中.但是,当我查看那里的web.config时,它没有被转换,它有"$(ReplacableToken_Web_SiteConnection-Web.config Connection String_0)"
我可以运行"TransformWebConfig"目标,它将进行正确的转换,但只是在自己的孤岛中.
我还可以运行"Build"目标并传递"DeployOnBuild = True; DeployTarget = MSDeployPublish"属性,它将在我的服务器上部署包,并完成正确的web.config转换.
但是,如果我想手动将软件包部署到服务器,如何使用"TransformWebConfig"执行"Package",以便zip文件中包含最终的web.config?
我在Web部署方面遇到了一些问题,我似乎无法解决这个问题.每次我尝试通过包中的[proj] .deploy.cmd命令发布到WMSvc时我得到"远程服务器返回错误:(401)未经授权".该命令如下所示(项目称为"Web",服务器名为"AutoDeploy"):
Web.deploy.cmd /Y /M:https://AutoDeploy:8172/MsDeploy.axd -allowUntrusted
Run Code Online (Sandbox Code Playgroud)
我可以通过Visual Studio 正常发布到https:// AutoDeploy:8172/MsDeploy.axd,因此该服务肯定正在运行,我可以成功地以管理员身份对其进行身份验证.在以管理员身份登录时,在计算机上本地运行此命令(它只是一个小的本地Win 2k8 VPC)不起作用,并且使用管理员帐户添加/ U和/ P参数不起作用.
我已经启用了失败的请求跟踪并且得到了这个输出,所以至少有一些东西需要参考但不幸的是我无法确定根本原因是什么.我正在尝试使用与Visual Studio中相同的凭据连接到同一服务,但显然有些不同.
出于兴趣,我可以按照以下方式发布到Web部署代理服务(MsDepSvc):
Web.deploy.cmd /Y /M:http://AutoDeploy/MsDeployAgentService /U:AutoDeploy\Administrator /P:...
Run Code Online (Sandbox Code Playgroud)
但我真的想让WMSvc运行!有什么想法吗?
有没有人知道如何获取web.config转换来替换自定义配置部分.我已将msbuild设置为详细模式,并且转换只是忽略了带有替换变换的自定义部分的存在.
我正在尝试使用msdeploy部署站点,并且无法在IIS用户帐户下部署它.我的管理员帐户能够成功部署.
我采取的步骤:
我收到以下错误:
Unable to perform the operation. Please contact your server administrator to check authorization and delegation settings.
Run Code Online (Sandbox Code Playgroud) 我目前正在使用TFS和常规构建流程活动来构建解决方案.但是,我希望能够自动部署,这样我就可以一步到位地远程构建和部署服务器.
在MSBuild参数上,我试图指定部署开关.我的项目是一个Windows服务,但我知道无论项目类型如何(不是Web项目),仍然可以部署任何二进制文件.
当前构建参数:
/p:DeployOnBuild=True /p:UserName=user /p:Password=password
Run Code Online (Sandbox Code Playgroud)
当构建在TFS中运行时它成功,但是我期望看到一些尝试部署到服务器和一些有用的错误消息,但没有显示.
我有一个Web Deploy 3.5软件包,我想部署到远程服务器.如何在MSDeploy.exe命令行上指定站点的名称?
这是我到目前为止所拥有的:
C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe
-source:package='package.zip'
-dest:auto,computerName="ServerName",includeAcls="False"
-verb:sync
-disableLink:AppPoolExtension
-disableLink:ContentExtension
-disableLink:CertificateExtension
-setParamFile:"package.SetParameters.xml"
Run Code Online (Sandbox Code Playgroud)
但是该文件的名称是在package.SetParamters.xml文件中指定的,我更喜欢在命令行中设置它.我想部署此软件包的一些地方是位于同一服务器上的不同站点,例如我们的Stage和UAT站点.
我已经看过使用这里描述的iisApp和appHostConfig提供程序:http://technet.microsoft.com/en-us/library/dd569040%28v=ws.10%29.aspx
但是我在将这些与包文件结合使用时遇到了麻烦.
使用sqlpackage.exe发布dacpac时,它首先运行Schema Compare,然后运行预部署脚本.例如,当您需要删除表或重命名列时,这会导致问题.架构比较是在修改对象和部署失败之前完成的.必须重复发布才能考虑新模式.
任何人都有一个解决方案,不涉及两次发布?
sql-server msdeploy visual-studio-2013 sql-server-2014 sql-server-data-tools
我正在使用Jenkins配置CI构建服务器.在构建步骤之后,我想部署网站.
从Web Deploy发布的VisualStudio发布网站时.我喜欢这种方法,因为它实际上发布了那些已经改变的文件,所以部署非常快.
现在在构建服务器上我正在尝试做同样的事情:构建应用程序(使用MSBuild.exe),然后部署应用程序(使用MSDeploy.exe?).
我已经看到他们使用MSBuild.exe和其他人使用部署应用程序的一些帖子MSDeploy.exe,那里有显着的差异吗?
你有什么建议可以帮助吗?
谢谢,先进.