Зеркальное отображение удаленных репозиториев Git, включая вложенные репозитории, выбранные с помощью скриптов

#git #docker #yocto #mbed #mirroring

#git #docker #yocto #mbed #зеркальное отображение

Вопрос:

При разработке продукта всегда должна быть возможность перестроить более раннюю версию программного обеспечения. В традиционной разработке программного обеспечения, где все разрабатывалось собственными силами, это было легко, так как все хранилось в собственном репозитории. Но в настоящее время, когда, например, используется Docker, он полагается на несколько внешних источников в своих сценариях сборки.

Это проблема, когда создается более старая версия, поскольку для нее также требуются более старые внешние компоненты. Иногда более старые версии этих внешних компонентов больше не доступны.

В очень маленьких проектах легко вручную зеркально отображать внешние компоненты во внутренние репозитории и изменять сценарии сборки для использования этих внутренних репозиториев. Но в более крупных проектах это становится практически невозможным.

Как вам удалось отразить все зависимости, например, от Docker, Yocto или MBed OS, встроенных во внутренние репозитории? Обычно эти зависимости являются репозиториями Git, но в сборках Yocto они часто являются просто ссылками на отдельные пакеты исходных файлов.

Ответ №1:

Yocto предоставляет возможность создавать все в автономном режиме. Пожалуйста, ознакомьтесь с главой «Репликация сборки в автономном режиме» руководства yocto.
После загрузки всех исходных текстов вы можете создать его локально.

Комментарии:

1. @Kalle, если вам нужна дополнительная информация по этому вопросу, которую я добавлю к своему ответу, просто дайте мне знать. Если он четко отвечает на ваш вопрос, не могли бы вы отметить его принятым? Спасибо

2. Владимир, спасибо за это для Yocto. Однако это не очень практичный способ, так как он требует копирования содержимого каталога downloads. Это можно сделать для одной сборки, но если (и когда) каждая сборка должна быть переведена в автономный режим, она потребляет настолько огромное количество дискового пространства, что становится неразумной. Таким образом, я ищу способ зеркального отображения содержимого до того, как оно попадет в downloads-directory.

3. @Kalle вы можете использовать downloads-directory или сделать исправление для каждой требуемой квитанции, чтобы использовать локальный репозиторий. Второй способ отнимает много времени, но вы действительно независимы. Я думаю, что использование downloads-directory в сетевом ресурсе является компромиссом.

4. Да, это как-то работает. Тем не менее, я ищу решение, которое будет работать для всех этих нужд, а не только для Yocto — это наименьшая боль.