Как установить конкретную c версию формулы бочки для кофе с ansible? - PullRequest
0 голосов
/ 13 марта 2020

Как мне установить конкретную c версию формулы бочки для домашнего пива с ansible? Например, vagrant 2.2.6, тогда как последний доступный - 2.2.7.

Ответы [ 2 ]

0 голосов
/ 02 мая 2020
$ brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/<git-hash>/Casks/<cask-ruby-file>.rb

/ TL; DR

В отличие от homebrew, бочки не имеют версий с @ #. #. #. Вместо этого вы должны найти точное значение git commit ha sh для установки, в дополнение к имени файла самой бочки для запуска и передать URL.

Например, чтобы установить ChefDK :

  • Знайте точную версию ChefDK, которую вы хотите установить (в действительности нет просмотра)
  • Отправляйтесь в репо git, в котором хранятся все Бочки: https://github.com/Homebrew/homebrew-cask
  • Используйте функцию поиска и найдите файл Ruby для запуска (в данном случае /Casks/chefdk.rb) и введите версию. Например, "chefdk 2.5.3" в поле поиска

  • Нажмите на пиар и откройте его. В этом случае этот PR номер 44655 на скриншоте выше.
  • Найдите последний коммит в PR и щелкните по нему (нам нужен полный га sh этого коммита, который есть только в этом сообщении коммита).

  • Теперь возьмите полный коммит га sh. Для этого это «be76032ad4fd5b03036ebe3628a6294354017906»
  • Наконец, мы можем создать URL-адрес и установить указанную c версию. Формат URL:
https://raw.githubusercontent.com/Homebrew/homebrew-cask/<git-hash>/Casks/<cask-ruby-file>.rb

Поэтому нам нужно заполнить пробелы с помощью git hash и cast-ruby-file:

brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/be76032ad4fd5b03036ebe3628a6294354017906/Casks/chefdk.rb

Это не весело, но это единственный способ ...

0 голосов
/ 16 марта 2020

Я нашел это решение:

---
- hosts: all
  tasks:
  - name: Task 1 - Check vagrant 2.2.6 is installed
    stat: path=/usr/local/Caskroom/vagrant/2.2.6
    register: vagrant_installed
  - name: Taks 2 - Install vagrant 2.2.6
    command: brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/ae2a540ffee555491ccbb2cefa4296c76355ef9f/Casks/vagrant.rb
    when: not (vagrant_installed.stat.isdir is defined and vagrant_installed.stat.isdir)

Первая задача проверяет, установлен ли vagrant 2.2.6, перейдя в каталог по умолчанию. Необходимо поддерживать playbook idempotent.

Второе задание устанавливает vagrant 2.2.6 с использованием прямого необработанного URL-адреса для версии формулы 2.2.6. Чтобы найти URL, я использовал эту пошаговую документацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...