在客户端服务器上使用支持DB部署ASP.NET 5应用程序

时间:2016-01-29 10:04:48

标签: asp.net asp.net-core-mvc .net-core

我正在编写一个使用EF7定位.Net Core的ASP.NET 5应用程序。当我完成后,我想将应用程序发布到特定于平台的安装程序,该安装程序在运行时将安装服务,根据SQL Server的用户输入凭据部署数据库。该服务将自托管ASP.NET应用程序。

这可能吗?我将如何实现这一目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

我们使用MSDeploy at work部署我们的所有组件:Web应用程序,Windows服务,计划任务,SQL数据库等。

您可以使用以下命令package up the service code

msdeploy -verb:sync -source:dirPath=/path/to/service -dest:package=servicePackage.zip -verbose

此命令将其部署到目标:

msdeploy -verb:sync -source:package=/path/to/service -dest:package=servicePackage.zip -verbose

为SQL数据库使用数据库项目并创建要发布的DacPac。您可以使用MSDeploy to publish the DacPac

MSDeploy –verb: MSDeploy-verb –source:dbSqlPackage="db.dacpac"[,dbSqlPackage-source-parameters] –dest:dpSqlPackage="TargetConnectionString"[,dbSqlPackage-target-parameters]

最后使用Manifests将它全部包装到一个MSDeploy包中。

关于数据库的用户输入值,我将使用WebDeploy Parameterization文件来定义变量并将它们应用于数据库部署。这些参数化文件可用于通过MSDeploy进行非Web部署。然后编写一些PowerShell来包装MSDeploy命令以进行部署,以提示用户输入并编辑SetParameters文件。