Отредактируйте исходники Chocolatey при установке

Я использую Chocolatey с шаблоном Azure ARM для создания виртуальной машины, а затем устанавливаю необходимое программное обеспечение. Я знаю, что есть способ настроить расположение источников, из которого Chocolatey извлекает установочные файлы после того, как вы установили Chocolatey, но знает ли кто-нибудь, есть ли способ предварительно настроить расположение источников до (или во время) установки Chocolatey?

Я хочу выполнить полную автоматическую установку от начала до конца, поэтому необходимость редактировать файл конфигурации Chocolatey после его установки и до установки приложений сводит на нет всю идею автоматической установки.

Я просмотрел сценарий установки Chocolatey PS1 здесь: https://chocolatey.org/install.ps1

К сожалению, я не могу найти там ничего, что можно было бы отредактировать, чтобы изменить исходное расположение пакетов Choco.

Вот расширение настраиваемого сценария, которое является частью шаблона ARM для установки виртуальной машины через Azure.

{
  "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'))]"
    }
  }
},

person Beefcake    schedule 09.05.2018    source источник


Ответы (2)


В зависимости от конкретного варианта использования одним из подходов будет создание виртуальной машины в контексте DevTest Lab. Есть готовый Artifact, который позволяет настроить собственный канал пакета Chocolatey для извлечения во время создания виртуальной машины. Вы по-прежнему можете использовать ARM, PowerShell и так далее.

person huysmania    schedule 09.05.2018
comment
Интересное использование, но, к сожалению, я не буду использовать DevTest Labs. Это должна быть обычная производственная виртуальная машина. - person Beefcake; 09.05.2018

После завершения установки 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/
person Gary Ewan Park    schedule 10.05.2018
comment
Спасибо, но это packageA (A) опечатка? - person Beefcake; 11.05.2018
comment
Нет, это был просто пример пакета, который вы хотели бы установить. т.е. choco install git или choco install visualstudiocode и т. д. - person Gary Ewan Park; 11.05.2018
comment
Важной частью этой команды было добавление параметра --source, который укажет Chocolatey, где искать установку пакета. - person Gary Ewan Park; 11.05.2018