【问题标题】:Edit Chocolatey sources upon install安装时编辑 Chocolatey 源
【发布时间】:2018-10-19 11:06:10
【问题描述】:

我正在使用 Chocolatey 和 Azure ARM 模板来构建 VM,然后安装所需的软件。我知道有一种方法可以在您安装 Chocolatey 之后配置 Chocolatey 从中提取安装文件的 sources 位置,但是有谁知道是否有一种方法可以预先配置安装 Chocolatey 之前(或期间)的源位置?

我想从头到尾进行完整的无人值守安装,因此必须在安装后和安装应用程序之前编辑 Chocolatey 配置文件,从而否定整个无人值守的想法。

我在这里查看了 Chocolatey PS1 安装脚本:https://chocolatey.org/install.ps1

遗憾的是,我在其中找不到任何可以编辑以修改 Choco 包的源位置的内容。

这是自定义脚本扩展,它是 ARM 模板的一部分,用于通过 Azure 安装 VM

{
  "name": "[concat(parameters('virtualMachineName'),'/chocolatey')]",
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.DevTestLab/schedules/', 'shutdown-computevm-', parameters('virtualMachineName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "fileUris": [
        "[concat(parameters('setupChocolatelyScriptLocation'),parameters('setupChocolateyScriptFileName'))]"
      ],
      "commandToExecute": "[concat('powershell -ExecutionPolicy bypass -File ', parameters('setupChocolateyScriptFileName'), ' -chocoPackages ',parameters('chocoPackages'))]"
    }
  }
},

【问题讨论】:

    标签: powershell azure azure-resource-manager chocolatey


    【解决方案1】:

    Chocolatey 安装完成后,您可以使用 choco source 命令更改/添加/删除 Chocolatey 使用的可用源。

    此命令记录在这里:

    https://chocolatey.org/docs/commands-sources

    但举个例子,你只需运行:

    choco source add -n=bob -s="https://somewhere/out/there/api/v2/"
    

    你可以在你定义它的 ARM 模板部分定义一个依赖,所以它只在安装 Chocolatey 后运行。

    另一种方法是指定要在安装命令中使用的源,例如:

    choco install packageA -y --source https://somewhere/out/there/api/v2/
    

    【讨论】:

    • 谢谢,但是packageA (A) 是不是打错字了?
    • 不,这只是您想要安装的软件包的一个示例。即choco install git,或choco install visualstudiocode
    • 该命令的重要部分是添加了--source 参数,它将指示Chocolatey 到哪里寻找安装包。
    【解决方案2】:

    根据具体的用例,一种方法是在 DevTest Lab 的上下文中创建 VM。有一个现成的 Artifact,它允许您设置自定义 Chocolatey 包供稿,以便在 VM 创建期间从中提取。您仍然可以使用 ARM 和 PowerShell 等。

    【讨论】:

    • 有趣的用途,但遗憾的是我不会使用 DevTest Labs。它需要是一个正常的生产虚拟机。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多