Назад | Перейти на главную страницу

Как добавить марионеточный модуль в Gepetto при использовании git?

Я следовал некоторым "лучшим практикам" из Марионетка 2.7 Поваренная книга и создал агент - основу марионетки с git cvs. К сожалению, в книге не рассматривается Джепетто, поэтому я вынужден импровизировать эту часть.

У меня есть один основной репозиторий git, содержащий manifests и modules папки. Я хочу добавить настраиваемый модуль в modules, но при этом я столкнулся с проблемами.

Во-первых, я не могу найти ничего похожего на тип проекта "основная конфигурация", который по умолчанию содержал бы manifests и modules папки. Итак, я создал простой проект «Puppet project» и создал папки вручную.

Поскольку - насколько я понимаю - в этой конфигурации Gepetto на самом деле не знает, что этот проект фактически будет содержать все модули, он не предоставляет возможность создать «проект модуля Puppet» подпроект, который будет вложен в "Марионеточный проект" modules папка.

Когда я вкладываю его вручную (указав произвольное местоположение в New Puppet Module Project волшебник), я получаю 'Auto share git projects' has encountered a problem ошибка:

Невозможно игнорировать ресурсы Попытка beginRule: F / puppet @ puppetmaster / modules / un named, не соответствует правилу внешней области: MultiRule [P / mymodule]

Удалось ли кому-нибудь из вас заставить Gepetto работать с модулями, когда все охвачено чем-то вроде «главного проекта», который инкапсулирует всю конфигурацию?

Это ответ, который я получил от Томаса Халлгрена:

Geppetto в настоящее время не поддерживает проекты с вложенными в них модулями. Предполагается, что у вас есть один проект на модуль. Однако проект - это не то же самое, что физическое расположение на диске, поэтому большинство макетов можно успешно сопоставить с рабочим пространством Geppetto. Для случая использования, который вы упомянули ниже (репозиторий Git с папкой "modules"), я думаю, что лучший способ сопоставить его - это выполнить следующие шаги:

  1. Откройте представление «Репозитории Git». Вы найдете его в «Окно» -> «Показать вид» -> «Другое ...» -> «Git».
  2. Добавьте рассматриваемый репозиторий в представление, либо назначив существующий локальный клон (желтый барабан с зеленым знаком плюса), либо клонируя удаленный репозиторий (два желтых барабана с зеленой стрелкой)
  3. Разверните репозиторий, а затем разверните папку «Рабочий каталог» и «модули».
  4. Щелкните правой кнопкой мыши один из модулей и выберите «Импортировать проекты ...». Появляется волшебник
  5. Выберите «Импортировать как общий проект» и нажмите «Готово». Теперь проект отображается в представлении Project Explorer.
  6. Щелкните проект правой кнопкой мыши и выберите «Добавить характер марионеточного проекта».

Повторите шаги 4-6 для всех желаемых модулей.

Теперь вы можете работать с модулями по отдельности, и Geppetto распознает проекты как проекты модулей и сопоставит их соответствующим образом, чтобы перекрестные ссылки и т. Д. Работали правильно.

Чтобы добавить новый модуль в каталог «modules» того же репозитория Git:

  1. Щелкните правой кнопкой мыши в Project Explorer и выберите «New» -> «Project» -> «Puppet Module Project».
  2. Введите имя проекта, оставьте флажок "Использовать местоположение по умолчанию" и нажмите "Готово".
  3. Щелкните проект правой кнопкой мыши и выберите «Команда» -> «Поделиться проектом».
  4. В появившемся мастере выберите «Git».
  5. Нажмите «Далее», а затем выберите репозиторий в раскрывающемся списке.
  6. Введите «модули» в поле «Путь в репозитории».
  7. Нажмите Готово

Дополнительную информацию можно найти в документации Geppetto здесь: http://docs.puppetlabs.com/geppetto/4.0/#geppetto-and-pe

Мы очень приветствуем идеи о том, как улучшить этот поток.