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

Лучшие практики для обмена доступными игровыми книгами в частной команде?

Я изучаю миграцию нашего текущего управления конфигурацией на основе шеф-повара на доступную.

Мы создаем множество приложений с рельсами, которые имеют похожие зависимости (ruby, unicorn, nginx, monit, MySQL и т.д.).

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

Я новичок в вопросе, самая близкая вещь, которую я обнаружил, - это незаменимая галактика, но это похоже на вещь "в открытом" стиле.

Какая общая/лучшая практика для этого в частной среде?

Git Subodules - единственный ответ, который приходит на ум, но было бы неплохо иметь что-то более автоматическое, как мы привыкли в мире шеф-повара.

4b9b3361

Ответ 1

Два основных решения: roles_path и ansible-galaxy.

roles_path

Сначала конфигурация roles_path ansible.cfg:

В Ansible 1.4 и более поздних версиях вы можете настроить role_path для поиска ролей. Используйте это, чтобы проверить все ваши общие роли в одном месте и легко делиться ими между несколькими проектами в виде плей-листов. Подробнее о том, как установить это в файле ansible.cfg, см. В файле конфигурации Ansible.

Итак, вы должны поместить свои общие роли в некоторые папки, например:

roles_path = /opt/ansible/common_roles/:/opt/ansible/other_roles/

from: http://docs.ansible.com/playbooks_roles.html#introduction

анзибль-галактика

Во-вторых, вы можете использовать командную строку ansible-galaxy:

ansible-galaxy install -r requirements.yml

Со следующими требованиями .yml:

# from github, overriding the name and specifying a specific tag
- src: https://github.com/bennojoy/nginx
  version: master
  name: nginx_role

# from a webserver, where the role is packaged in a tar.gz
- src: https://some.webserver.example.com/files/master.tar.gz
  name: http-role

Таким образом, вы можете размещать свои общие роли через zip файлы.

from: http://docs.ansible.com/galaxy.html#the-ansible-galaxy-command-line-tool

Ответ 2

Ansible находится на более ранней стадии, чем Chef, Puppet и другие инструменты там, когда дело доходит до поддержки сообщества.

Итак, я считаю, что вам пока не повезло. Самое близкое к librarian-chef - Ansible Galaxy и что все еще выполняется работа (бета-версия). И, как вы сказали это на открытом воздухе. Сказав это, это не означает, что нечто вроде Ansible playbook team packager не будет доступно позже, либо от Ansible, либо от стороннего разработчика.

В настоящее время мы просто придерживаемся простого хранилища git, разделяющего проигрыватели в разных каталогах или разных ролях. В конце концов, git был разработан для использования с несколькими разработчиками. Я предполагаю, что вы можете использовать несколько суб-репозиториев git для выполнения чего-то вроде частной Ansible Galaxy, но управление суб-репозициями git не так просто для задачи, особенно если у вас много git sub-repos.