我正在使用Visual Studio的Publish按钮来部署我的网站,并希望服务器上有一个不同的App_Data文件夹.有一个复选框Leave extra files on destination (do not delete)可以防止我的App_Data文件夹被删除,但随后它会在网站更改时积累大量的遗留文件.
有没有办法让它在删除所有东西时只排除App_Data?
我正在尝试msdeploy安装和设置.我已经在Web服务器上安装了远程服务,但我的所有测试都给了我一个401 unauthorised error.服务器是Windows 2008 R2.
我正在测试一个非常简单的msdeploy命令:
msdeploy -verb:dump -source:contentPath=c:\inetpub\wwwroot\MyApp,computerName=<IP HERE>,userName=Domain\msdeploy,password=MyPassword
Run Code Online (Sandbox Code Playgroud)
而错误:
Error: Object of type 'contentPath' and path 'c:\inetpub\wwwroot\MonApp' cannot be created.
Error: Remote agent (URL http://<IP HERE>/MSDEPLOYAGENTSERVICE) could not be contacted. Make sure the remote agent service is installed and started on the target computer.
Error: An unsupported response was received. The response header 'MSDeploy.Response' was '' but 'v1' was expected.
Error: The remote server returned an error: (401) Unauthorized.
Error count: 1.
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为msdeploy的用户,并将其添加到服务器上的本地管理员组.
我检查过: …
iis visual-studio-2010 msdeploy msdeployserviceagent webdeploy
我正在使用Team city中的MSBuild运行器来构建我的项目并将其部署到临时环境.一切都很完美,除了它不断移除位于项目根目录中的我的存储库文件夹.
在Visual Studio 2010中,发布配置文件对话框中有一个复选框,显示"在目标上保留额外文件(不要删除)"
有没有办法用MSBuild完成同样的事情?
<Target Name="Deploy" DependsOnTargets="Build;Test">
<MSBuild Projects="MyProject.sln" Properties="Configuration=$(Configuration); username=username; password=password; DeployOnBuild=True; DeployTarget=MSDeployPublish; MSDeployPublishMethod=WMSVC; MSDeployServiceUrl=https://DEVWEB01:8172/MsDeploy.axd; DeployIISAppPath=MyProject.$(Configuration); AllowUntrustedCertificate=True;"/>
</Target>
Run Code Online (Sandbox Code Playgroud) 我使用以下脚本将我的ASP.NET MVC应用程序部署到我们的Web服务器:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MySolution.sln^
/p:Configuration=TeamCity-Test^
/p:OutputPath=bin^
/p:DeployOnBuild=True^
/p:DeployTarget=MSDeployPublish^
/p:MsDeployServiceUrl=https://mywebserver.com:8172/msdeploy.axd^
/p:username=MyDomain\MyUser^
/p:password=MyPassword^
/p:AllowUntrustedCertificate=True^
/p:DeployIisAppPath=mywebsitename.com^
/p:MSDeployPublishMethod=WMSVC
Run Code Online (Sandbox Code Playgroud)
现在我需要指定不同步/ uploads文件夹.我可以在这个脚本中指定吗?谢谢!
澄清:我的项目中有Uploads文件夹.我想让Web Deploy创建该文件夹.我不希望它从我的Web服务器中删除文件夹/子文件夹/文件,因为它包含用户上传的内容.
澄清#2:我刚刚找到了SkipExtraFilesOnServer=True选项.但是,我不希望这是全球性的.我想将它设置为一个文件夹.
有没有办法在ASP.NET MVC项目的.csproj文件中设置MSDeploy参数?特别是"skip"参数,它应该跳过"Temp"文件夹.
-skip:objectName=dirPath,absolutePath="\\temp"
Run Code Online (Sandbox Code Playgroud)
..或者如何将此参数传递到MSBuild.exe参数列表?
我们使用TeamCity自动化MSBuild以使用WebDeploy将我们的应用程序推送到各种服务器.
在大多数情况下,我们有这个工作,很棒.但有一个障碍:我们有一个文件夹可以保存我们不希望在发布期间删除的上传内容.
我如何告诉WebDeploy,"我知道该文件夹不在编译的应用程序中.忽略它.只是不管它."
脚本
题
如何在不删除部署设置中的"删除附加文件..."选项的情况下,将现有文件保留在上载文件夹的目标位置?