如何使用 Release Management DSC 将单个解决方案中的两个项目部署到两个不同的服务器中
How to deploy two projects in a single solution into two different servers using Release Management DSC
我想使用 RM DSC 部署单个解决方案中的三个项目:
- 一项Windows项服务
- 网页界面
- 和一个数据库项目
对于部署,我有三台 Azure 服务器:
- 一个SQL盒子
- 和两个应用程序服务器
目前我可以在所有三台服务器上成功部署所有三个项目,但是对于老板的一些新指示,我必须按如下方式部署我的项目:
- Windows服务项目进入全部三台服务器
- WebUI 到其中一个应用程序服务器和
- 将数据库项目放入SQL框中。
我的最终目标是只复制每个目标服务器上需要的文件。
例如,我只想将 DB 文件保留在 DB 服务器中,类似地,WebUI 文件仅保留在 App 服务器中。
您可能想要结帐:continuous-deployment-using-dsc-with-minimal-change
基本上,您可以使用配置来选择 "server" 角色类型并为每个角色类型安装不同的包。但是,我发现每个角色类型都有一个 DSC(a.k.a Web 角色与 DB 角色)来封装功能(即使以一些重复为代价)。
网络上有几个 DB install/etc 的例子,这里是一个网站安装的例子:DSC Web Install
不过,我同意@Graham Smith 关于将部署与供应(虚拟机创建和配置)分开的观点。我会把你的 DSC 集中在
提供和使用整体配置的第二步
使用 msdeploy and a tool like fluentmigrator 为数据库部署的过程。
编辑: 添加了在 Azure 上运行良好的文件上传选项(非 azure 虚拟机也可以遵循此模式)
我发现上传文件的一种方法是将所需文件包装在 DSC 资源中。例如,
- 创建包含您要访问的 file/files 的 DSC 资源。我创建了一个示例,其中包含用于安装的 Erlang here
- 在您的 DSC 中导入模块 DSC 资源:
Import-DscResource -ModuleName Erlang
- 确保 DSC 资源在您的模块路径中
- 使用 Publish-AzureVMDscConfiguration 创建 zip(将包含导入的 DSC 资源)。
- 您的 DSC 资源将位于模块路径
"$env:ProgramFiles\WindowsPowerShell\Modules\Erlang\otp_win32_17.5.exe"
我想使用 RM DSC 部署单个解决方案中的三个项目:
- 一项Windows项服务
- 网页界面
- 和一个数据库项目
对于部署,我有三台 Azure 服务器:
- 一个SQL盒子
- 和两个应用程序服务器
目前我可以在所有三台服务器上成功部署所有三个项目,但是对于老板的一些新指示,我必须按如下方式部署我的项目:
- Windows服务项目进入全部三台服务器
- WebUI 到其中一个应用程序服务器和
- 将数据库项目放入SQL框中。
我的最终目标是只复制每个目标服务器上需要的文件。 例如,我只想将 DB 文件保留在 DB 服务器中,类似地,WebUI 文件仅保留在 App 服务器中。
您可能想要结帐:continuous-deployment-using-dsc-with-minimal-change
基本上,您可以使用配置来选择 "server" 角色类型并为每个角色类型安装不同的包。但是,我发现每个角色类型都有一个 DSC(a.k.a Web 角色与 DB 角色)来封装功能(即使以一些重复为代价)。
网络上有几个 DB install/etc 的例子,这里是一个网站安装的例子:DSC Web Install
不过,我同意@Graham Smith 关于将部署与供应(虚拟机创建和配置)分开的观点。我会把你的 DSC 集中在 提供和使用整体配置的第二步 使用 msdeploy and a tool like fluentmigrator 为数据库部署的过程。
编辑: 添加了在 Azure 上运行良好的文件上传选项(非 azure 虚拟机也可以遵循此模式)
我发现上传文件的一种方法是将所需文件包装在 DSC 资源中。例如,
- 创建包含您要访问的 file/files 的 DSC 资源。我创建了一个示例,其中包含用于安装的 Erlang here
- 在您的 DSC 中导入模块 DSC 资源:
Import-DscResource -ModuleName Erlang
- 确保 DSC 资源在您的模块路径中
- 使用 Publish-AzureVMDscConfiguration 创建 zip(将包含导入的 DSC 资源)。
- 您的 DSC 资源将位于模块路径
"$env:ProgramFiles\WindowsPowerShell\Modules\Erlang\otp_win32_17.5.exe"