Подтвердить что ты не робот

Как установить пакеты Chocolatey в автономном режиме?

Я пытаюсь автоматизировать настройку установки программного обеспечения dev. Шоколад хорош для установки пакетов при подключении к Интернету. есть ли способ установить пакеты в автономном режиме? Я просто хочу поместить все пакеты в общую сетевую папку и использовать эти пакеты для установки. если у вас есть внутреннее приложение, как вы конвертируете их в шоколадный пакет? кто-нибудь пробовал это раньше?

4b9b3361

Ответ 1

Загрузка кэширования - не детерминированный

В то время как есть способы установить исходный nupkg (с версией на нем, а не с каталогом пакетов), используйте загрузку с левой стороны страницы пакетов на Chocolatey community package repository) и предустановить загруженные двоичные файлы в папку кеша, это не всегда детерминировано, что он будет работать. Вы также можете переопределить местоположение кэша, чтобы папка не была в TEMP. Для этого см. choco config, choco config -h и choco config set cacheLocation c:\some\location.

Создайте свои собственные пакеты - лучше

Для пакетов, которые вам нужны в автономном режиме, у вас есть возможность управлять своими собственными пакетами, и вы можете вставлять программное обеспечение прямо в пакет. Это необходимо, если вы хотите управлять автономным программным обеспечением, поскольку большинство вещей в репозитории сообщества защищены законом об авторском праве и правами на распространение (почему у них нет просто программного обеспечения, которое они представляют встроенным).

Создание и работа с вашими собственными пакетами очень безопасно, но, как правило, занимает много времени. Если вы делаете это для себя, тогда он может переопределить любую экономию времени, которую вы получаете как потребитель, используя Chocolatey и репозиторий сообщества.

Для организаций мы разработали Package Builder, который создает полные развертывания программного обеспечения (пакеты) через 5-10 секунд. Он также может создавать пакеты прямо из существующего установленного программного обеспечения (Программы и функции) менее чем за 60 секунд! Подробнее о Package Builder.

Интернализированные пакеты - лучший

Лучшее, что вы можете сделать здесь, это процесс, называемый интернализацией, где вы загружаете и извлекаете пакет, загружаете все ресурсы и вставляете их в пакет (или помещаете их где-то в локальный), редактируете скрипты, чтобы использовать встроенные/локальные ресурсы и перекомпилировать пакет.

Это позволяет вам использовать существующую логику пакетов без проблем в Интернете.

Подробнее см. Ручная настройка пакетов и Package Internalizer - Автоматически интернализировать пакеты.

Организация использования шоколада

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

Ответ 2

Я создал проект ChocolateStore, который автоматизирует процесс копирования пакета Chocolatey из онлайн-источника и делает этот пакет доступным для использования в автономном режиме.

Вы можете посмотреть источник здесь: https://github.com/BahKoo/ChocolateStore

Ответ 3

Поместите установщик в директорию cache:

%TEMP%\chocolatey\<pkg>\<version>

и выполните установку силы:

choco install -f <package_name>

Работала отлично в моей версии (v0.9.10.3).

Ответ 4

Документы Chocolatey могут ответить на первую часть вопроса следующим образом: " Как разместить свой собственный [закрытый/внутренний/общедоступный] сервер хранилища пакетов (aka Package Feed)"

В нем описываются три типа репозиториев пакетов, которые позволяют вам предоставлять пакеты в вашем LAN/Intranet или через общие тома:

На вторую часть вопроса можно ответить документация Chocolatey о перекомпиляции пакетов. Название звучит более сложно, чем есть на самом деле, и может быть просто "Как сделать существующий пакет локальным", и я думаю, что описанное там может быть применено к тому, что автор вопроса называет "внутренними приложениями" (я думаю, он означает, что файлы aka.exe также недоступны в любом общедоступном канале).

Ответ 5

Nifty, это именно то, что я делаю сейчас!

Для чего стоит установить из общей сетевой папки, я использую:

choco upgrade eclipse -y -s \\network\users\KyleStoflet\Eclipse

Например, здесь я обновляю eclipse, я объясню строку немного больше:

-y пропускает подтверждение

-s предоставляет путь источника

network и users являются заполнителями для нашей сети, а пользовательские каталоги

... и для тестовых целей у меня есть наши версии в моем каталоге. Внутри этого каталога есть несколько каталогов для Eclipse, Visual Studio и другого различного программного обеспечения, которое мы используем для разработки.

Важное замечание: Я только получил эту работу за файлы .nupkg, которые были получены непосредственно с страницы шоколадных пакетов. Я не смог найти исправление для исполняемых файлов.

Ответ 6

Итак, я создал установщик Nullsoft, который должен был установить пакеты Choco из автономного компьютера. Это общие шаги:

1) Загрузите пакеты Choco в каталог temp с помощью

NuGet.exe Install some_package_name -OutputDirectory C:\Temp\ChocoPackages -ExcludeVersion

2) В Nullsoft script добавьте эти строки для загрузки пакетов загрузки:

nsExec::Exec 'choco feature disable -n=allowGlobalConfirmation' SetOutPath "${TmpPath}ChocoPackages" File /r "C:\Temp\ChocoPackages\*.*"

3) Пока еще в Nullsoft script, используйте эту команду для установки пакета choco из каталога Temp, в который были помещены файлы во время процесса установки:

choco install --Source "${TmpPath}ChocoPackages" ${Name_Of_ChocoPackage} --acceptlicense --yes