Web Deploy API(部署.zip包)澄清(Web Deploy API (deploy .zip package) Clarification)
我正在使用Web部署API来部署Web包(.zip文件,由MSDeploy.exe创建),以编程方式将包滚出到服务器(我们需要在发布包之前做一些其他的事情,这就是为什么我们“我不是一次性使用MSDeploy.exe”。
这是我的代码。 我的问题是要澄清执行时发生的事情。 在包参数XML文件中,我指定了应用程序名称(“默认网站”),但就此而言,那里没有指定其他参数。 从测试服务器看来,包已成功部署,但我的问题是我正在部署的服务器上的任何其他设置,在我不知情的情况下进行更改,是否已发布任何默认设置等? 安全设置,目录浏览等等我可能不知道的事情? 这里的代码似乎部署了包,但是当我不确定这个API是如何工作的时候,我很担心在生产环境中使用它。 MS文档没有帮助(实际上更像是不存在的)。
DeploymentChangeSummary changes; string packageToDeploy = "C:/MyPackageLocation.zip"; string packageParametersFile = "C:/MyPackageLocation.SetParameters.xml"; DeploymentBaseOptions destinationOptions = new DeploymentBaseOptions() { UserName = "MyUsername", Password = "MyPassword", ComputerName = "localhost" }; using (DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.Package, packageToDeploy)) { deploymentObject.SyncParameters.Load(packageParametersFile); DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); syncOptions.WhatIf = false; //Deploy the package to the server. changes = deploymentObject.SyncTo(destinationOptions, syncOptions); }
如果有人可以澄清这个代码片段应该将软件包部署到服务器上的网站应用程序,而不更改任何现有的服务器设置(除非在SetParameters.xml文件中指定),这将非常有用。 任何有关使用API的良好资源或对幕后Web部署如何工作的解释也将非常感谢!
I'm using the web deploy API to deploy a web package (.zip file, created by MSDeploy.exe) to programmatically roll the package out to a server (we need to do some other things before we release the package which is why we're not doing it all in one go using MSDeploy.exe).
Here's the code I have. My question is really to clarify what is happening when this is executed. In the package parameters XML file I have the application name specified ("Default Web Site") but that's about it, there's no other params are specified in there. From testing the server it appears the package gets deployed successfully but my question is are any other settings on the server I'm deploying to getting changed without my knowledge, are any default settings published etc.? Things like security settings, directory browsing etc. that I might not be aware of? The code here seems to deploy the package but I'm anxious about using this on a production environment when I'm so unsure of how this API works. The MS documentation is not helpful (more like non-existant, actually).
DeploymentChangeSummary changes; string packageToDeploy = "C:/MyPackageLocation.zip"; string packageParametersFile = "C:/MyPackageLocation.SetParameters.xml"; DeploymentBaseOptions destinationOptions = new DeploymentBaseOptions() { UserName = "MyUsername", Password = "MyPassword", ComputerName = "localhost" }; using (DeploymentObject deploymentObject = DeploymentManager.CreateObject(DeploymentWellKnownProvider.Package, packageToDeploy)) { deploymentObject.SyncParameters.Load(packageParametersFile); DeploymentSyncOptions syncOptions = new DeploymentSyncOptions(); syncOptions.WhatIf = false; //Deploy the package to the server. changes = deploymentObject.SyncTo(destinationOptions, syncOptions); }
If anyone could clarify that this snippet should deploy a package to a web site application on a server, without changing any existing server settings (unless specified in the SetParameters.xml file) that would be really helpful. Any good resources on using the API or an explanation of how web deployment works behind the scenes would also be much appreciated!
原文:https://stackoverflow.com/questions/7634603