您可能想要结帐:continuous-deployment-using-dsc-with-minimal-change
基本上,您可以使用配置来选择“服务器”角色类型并为每个角色安装不同的包。但是,我发现为每个角色类型(也称为 Web 角色与 DB 角色)拥有一个 DSC 来封装功能(即使以一些重复为代价)更容易。
Web 上有一些用于 DB 安装/等的示例,以下是网站安装示例:DSC Web 安装
但是,我同意@Graham Smith 的观点,将部署与配置(虚拟机创建和配置)分开。我会将您的 DSC 重点放在配置的配置方面,并在您的整个流程中使用第二步来部署msdeploy和fluentmigrator for DB 之类的工具。
编辑:添加了在 Azure 上运行良好的文件上传选项(非天蓝色 vm 也可以遵循此模式)
我发现上传文件的一种方法是将所需文件包装在 DSC 资源中。例如,
- 创建包含要访问的文件的 DSC 资源。我创建了一个示例,其中包含我在此处用于安装的 Erlang
- 在 DSC 中导入模块 DSC 资源:
Import-DscResource -ModuleName Erlang
- 确保 DSC 资源在您的模块路径中
- 使用 Publish-AzureVMDscConfiguration 创建 zip(将包含导入的 DSC 资源)。
- 您的 DSC 资源将位于模块路径中
"$env:ProgramFiles\WindowsPowerShell\Modules\Erlang\otp_win32_17.5.exe"