2017-02-13 14 views
0

У нас есть несколько репозиториев Git (по одному на проект ..), и у нас есть файлы конфигурации, которые должны оставаться «синхронизированными» по всем проектам, но также должны быть в репозитории Git, например - трубопроводы yaml , и конфигурацию статического анализа yaml.Файл конфигурации архива Cross Git

Каков наилучший способ сохранить эти файлы конфигурации в центральном месте? (например, центральный репозиторий Git, символические ссылки на удаленный хост?)

Возможно, использование веб-узлов Bitbucket с помощью нашего собственного «агента» - лучший вариант?

+0

Подмодули - это ответ. Возникает вопрос: хотите ли вы монолитный репо, который отслеживает конфигурационные файлы со всеми проектами в виде подмодулей или отдельное репо-конфигурацию, которое втягивается в качестве подмодуля в каждом проекте? – Pockets

+0

http://stackoverflow.com/a/9733277/2303202 Возможно, вы могли бы найти какое-то решение с использованием include – max630

+0

@pockets - вспомогательные модули добавляют каталог к ​​дереву, что является проблемой для нас. – Rotem

ответ

1

Поместите весь ваш файл конфигурации в репозиторий Git и укажите этот репозиторий как submodule из других репозиториев Git.

Обратите внимание, что всякий раз, когда вы меняете общий репозиторий (содержащий общие файлы конфигурации), вы должны регулярно синхронизировать с каждым из других хранилищ Git, например:

>git submodule update --remote 

будет тянуть все последние изменения из всех подмодулей из репозитория вы запускаете эту команду внутри.

+0

Подменю Git требует, чтобы я добавил каталог, а файлы конфигурации должны находиться в корневом каталоге. Я ошибаюсь? И еще одно: я не смогу «нажимать» обновления для всех репозиториев Git с центрального места (не уверен, есть ли способ сделать это) – Rotem

+0

Вы можете создать подмодуль в любом подкаталоге, то есть '> git subodule add ssh: // user @ host/bla/bla subdir/sub1' Невозможно перенаправить обновления в репозитории, каждая из которых нуждается в обновлении. –

+0

Cappas's - Мне не нужен другой каталог в моей кортежной доректории. Это проблема, и подмодули git доступны только в каталогах – Rotem