LINUX.ORG.RU

История изменений

Исправление pihter, (текущая версия) :

Как насчет промежуточного хранения бинарных артефактов? С автоматическим использованием того, что есть и автоматическим развертыванием того чего нет?

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

Можно сделать. У нас примерно так и сделано: ты для каждого пакета билдрута пишешь мейкфайл, а он, когда система сборки его зовет, проверяет есть ли такой пакет ( нас по имени-версии ) уже готовый в хранилище, если есть – тащит, если нет у нас собирает из исходников, но ты можешь сделать чтоб дернул сборку в хранилище.

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

Есть. Опять же, идешь просто в конкретный мейкфайл конкретного пакета и в шапке ему в специальную переменную раскоменчиваешь что вот этот конкретный в любом случае собирай из исходников на локалхосте. Потом подправил исходники в блокноте, запустил make packagename-rebuild и у тебя есть готовый бинарь. Можно сделать еще каждому пакету цель packagename-deploy чтоб оно тебе складывало на борду поглядеть. Мы так и работаем.

Может я хочу слишком много

Вполне разумного хочешь: все так и делают

Исходная версия pihter, :

Как насчет промежуточного хранения бинарных артефактов? С автоматическим использованием того, что есть и автоматическим развертыванием того чего нет?

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

Можно сдалать. У нас примерно так и сделано: ты для каждого пакета билдрута пишешь мейкфайл, а он, когда система сборки его зовет, проверяет есть ли такой пакет ( нас по имени-версии ) уде готовый в хранилище, если есть – тащит, если нет у нас собирает из исходников, но ты можешь сделать чтоб дернул сборку в хранилище.

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

Есть. Опять же, идешь просто в конкретный мейкфайл конкретного пакета и в шапке ему в специальную переменную раскоменчиваешь что вот этот конкретный в любом случае собирай из исходников на локалхосте. Потом подправил исходники в блокноте, запустил make packagename-rebuild и у тебя есть готовый бинарь. Можно сделать еще каждому пакету цель packagename-deploy чтоб оно тебе складывало на борду поглядеть. Мы так и работаем.

Может я хочу слишком много

Вполне разумного хочешь: все так и делают