Контроль версий / Управление конфигурацией для образов Linux - PullRequest
2 голосов
/ 13 августа 2011

Один проект, над которым я работаю, заключается в постоянном обслуживании образа диска Linux, который клонируется на встроенные устройства.

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

Существует ли хороший инструмент, который в основном может делать это на уровне файлов, что позволяет намзафиксировать / откатить изменения в реальных файлах на диске для всей системы?Или, альтернативно, есть ли что-то, что может обрабатывать огромный файл лучше, чем традиционные инструменты управления исходным кодом, которые точно не предназначены для гигантских двоичных файлов?

Ответы [ 4 ]

1 голос
/ 04 мая 2019

Через пять лет после моих комментариев у меня есть намного лучшее решение. Artifactory и Nexus предназначены для выполнения именно этой работы в рамках конвейера кода CI / CD.

В моем случае я использую Jenkins, Artifactory, GitHub, CircleCI и по старым причинам Perforce для управления деревом кодов из 70k + файлов (дерево кодов не мой дизайн!) Для сборки на C ++ и Javascript.

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

Artifactory Pro не бесплатен, но имеет репозитории для многих стандартных пакетов, таких как контейнеры Docker, Debian, NPM, Gems и т. Д.

0 голосов
/ 06 октября 2011

В итоге мы поместили ключевые файлы в систему контроля версий, но не во всю систему.

0 голосов
/ 15 мая 2014

У меня точно такая же проблема.на данный момент мой репозиторий для релизов более 150G в git, перенесен из CVS.CVS отлично справлялся с небольшими файлами, но мешал работе с мульти-G файлами.Так.на случай, если кто-нибудь еще зайдет, вот несколько возможных решений, на которые я смотрю:

http://git -annex.branchable.com /

https://github.com/jedbrown/git-fat

https://github.com/schacon/git-media

http://code.google.com/p/boar/

И, возможно, Subversion, если он может обрабатывать файлы 8G.

0 голосов
/ 13 августа 2011

Управление конфигурацией должно осуществляться в предпочтительной форме для внесения изменений. Для образа диска это означает фактические файлы вместе со сценарием сборки для создания образа. Обоснование этого связано с причинами, по которым вы ведете историю в первую очередь:

  • Определите, в какой ревизии была введена ошибка или функция и кем
  • Проверьте предыдущую ревизию для устранения проблемы с полем, возможно добавив в нее временный код отладки
  • Уметь создавать ветви по разным причинам и объединять их при необходимости

Поскольку образ диска может быть извлечен, вы не полностью застряли, если просто отслеживаете двоичный файл, но эти действия намного проще lot , если отслеживать источник.

...