通过 PowerShell DSC 和 choco 部署 VS19

Posted

技术标签:

【中文标题】通过 PowerShell DSC 和 choco 部署 VS19【英文标题】:Deploy VS19 over PowerShell DSC and choco 【发布时间】:2020-12-23 17:55:39 【问题描述】:

我的目标是使用 DSC 扩展在 Azure 中部署 TeamCity 代理配置。我能够部署所有必需的应用程序和服务,但我找不到如何部署 Visual Studio 19 及其可选参数。 VS19 本身已安装,但我在 DSC 构建中发送的带有工作负载 ID、SDK 等的参数除外。

我正在使用成员 Params 发送可选参数。 也许我做错了什么,有人可以看看并帮助我解决这个问题吗?谢谢!

cChocoPackageInstaller vs19

    Name      = "visualstudio2019enterprise"
    Ensure    = "Present"
    Params    = "--add Microsoft.VisualStudio.Workload.Azure;includeRecommended `
                 --add Microsoft.NetCore.Component.DevelopmentTools;includeRecommended `
                 --add Microsoft.VisualStudio.Workload.Data;includeRecommended `
                 --add Microsoft.VisualStudio.Workload.NetCoreTools;includeRecommended `
                 --add Microsoft.VisualStudio.Workload.ManagedDesktop;includeRecommended `
                 --add Microsoft.Net.Component.4.6.1.SDK `
                 --add Microsoft.Net.Component.4.6.2.SDK `
                 --add Microsoft.Net.Component.4.7.1.SDK `
                 --add Microsoft.Net.Component.4.7.2.SDK `
                 --add Microsoft.Net.Component.4.7.2.SDK `
                 --add Microsoft.Net.Component.4.7.SDK `
                 --add Microsoft.Net.Core.Component.SDK.2.2"
    DependsOn = "[cChocoInstaller]installChoco"

【问题讨论】:

我开始相信这是不可能的,我应该需要像这样使用额外的步骤:chocolatey.org/packages/visualstudio2019-workload-azure#psdsc 对于每个工作负载和 VS 组件。 【参考方案1】:

Params 参数用于包参数visualstudio2019enterprise 列出了可以在包页面上使用的包参数(以及指向更多参数的链接here)。

我认为您正在寻找的是可以传递给安装程序(如果安装程序支持)的安装程序参数(即--install-arguments)。如果是这种情况,您可以尝试使用 chocoParams = "--install-arguments='<your stuff>'" 看看是否有效(免责声明 - 我尚未测试过)。

【讨论】:

以上是关于通过 PowerShell DSC 和 choco 部署 VS19的主要内容,如果未能解决你的问题,请参考以下文章

powershell PowerShell脚本,用于创建在计算机启动时运行choco升级的计划任务

将 PowerShell DSC 与 ITSM/变更管理集成

使用 PowerShell DSC 安装 VS 2019

powershell Zip自定义DSC模块,用于上传到Azure Automation DSC

关于 Powershell DSC 和节点的新手问题

如何使用 Powershell DSC 为 Windows 服务设置自动启动配置