Если вы работаете на виртуальных машинах Azure Windows на своей работе, вы можете упаковать свои приложения в формате .exe и .msi в шоколадный. nupkg в формате и размещение шоколадного репозитория в хранилище артефактов , такого как nexus , где вы можете отправить и установить и установить и установить эти chocolatey. nupkg пакеты , которые вы хотите установить на этих виртуальных машинах, используя win_chocolatey ansible module .
Пример задачи для установки пакета Chocolatey:
- name: "chocolatey task: install packages from internal choco nuget-hosted nexus repo"
win_chocolatey:
name: "{{ item.name }}"
version: "{{ item.version }}"
loop:
- { name: 'jdk8', version: '8.0.162' }
- { name: 'msbuildtools', version: '2.0.1.5' }
- { name: 'SevenZip', version: '9.2' }
- { name: 'googlechrome', version: '76.0.3809.132' }
- { name: 'powershell', version: '6.0.0' }
win_chocolatey anible модуль: https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html
Что такое шоколад?
Is is a framework to package applications which are in .exe or .msi formats into .nupkg
(nuget packages) which will have a installation script within the package and
when you run choco commands to install a certain application, it either get
chocolatey packages from opensource chocolatey gallery or for organization
purpose you might want to create custom package for network and security reasons.
Chocolatey Документация: https://chocolatey.org/why-chocolatey
Как создавать пользовательские / автономные пакеты шоколада? https://chocolatey.org/docs/how-to-create-custom-package-templates
Основные команды Chocolatey:
choco install <package-name> --version <version> -y
-> по умолчанию получает пакеты choco из https://chocolatey.org/api/v2/
choco uninstall <package-name> -y
-> для удаленияЯ пакет. Опция --version также может быть использована, если установлен пакет из нескольких версий
choco source add -n=<AnyName> -s="<URL-Internal-choco-repo>"
-> добавляет внутренние шоколадные репозитории Nexus, размещенные на Nuget, в Chocolatey Source на машинах с Windows
choco source list
-> Список всех добавленных источников, откуда он получает пакеты
choco source remove -n="<NameOfSource>"
-> Чтобы удалить любой источник для спискаиз всех шоколадных источников
Шоколадные команды: https://github.com/chocolatey/choco/wiki/CommandsSources