Size: a a a

2020 November 28

ЕО

Евгений Омельченко... in DevOps
Aleksander Mironov
Здравствуйте. Я не уверен, что по теме, если нет - редиректните куда надо.

У меня разросся проект и начал состоять из 3х независимых систем (2 корневых устройства + экземпляр датчика).
Стала проблема, они должны иметь определенные (не обязательно одинаковые) версии ПО что бы нормально функционировать.
Плюс собирать прошивки должны уметь все таки не зависимо от меня.

В итоге сейчас пришел к тому, что надо сделать хотя бы простую автоматизацию сборки проектов, которая должна:
- Уметь стянуть исходники с гита последней или определенной версии релиза.
- Гарантировать что исходники 3х проектов будут иметь совместимые версии
- Уметь принимать в себя разнообразные текстовые данные (серийники и тп)

Я 99% карьеры, не то что бы долгой работал один, у меня про организацию командной и прокдукто-организаторской работы - ноль.
Вопрос, куда мне посмотреть хотя бы в какую сторону? Потому что для меня вся эта сфера - какая то рыба под коробками и админы которых программировать заставили.
Я конечно имею вариант это все продолжить (уже начал) делать на павершеле и смейке, но сегодня мне приснился велосипедный завод, где я почему-то бортовал колеса, а они разбортовывались снова и снова.
А "совместимые версии" это насколько большой люфт? Может быть целый спектр совместимых версий?
источник

AM

Aleksander Mironov in DevOps
Евгений Омельченко
А "совместимые версии" это насколько большой люфт? Может быть целый спектр совместимых версий?
Не, не думаю что прям часто. От вообще никогда, до десятка в ужасном худшем случае, за весь период существования.
источник

M

Magistr in DevOps
в такие моменты я теряюсь ибо непомню а какая есть литература для начинающих в профессию
источник

ЕО

Евгений Омельченко... in DevOps
Aleksander Mironov
Не, не думаю что прям часто. От вообще никогда, до десятка в ужасном худшем случае, за весь период существования.
Тогда монорепа и всё собирать в одном месте
источник

AM

Aleksander Mironov in DevOps
Евгений Омельченко
Тогда монорепа и всё собирать в одном месте
Не силен в терминологии. Монорепа это прямо дин единственный VCS репозиторий?
источник

ЕО

Евгений Омельченко... in DevOps
Да, всё так
источник

DS

Dmitry Sergeev in DevOps
bazel не стоит пока советовать?
источник

AM

Aleksander Mironov in DevOps
Не, не возможно, объем не позволяет. Там ультрамешанина из истории коммитов будет (я как понимаете тоже не самый опытный гит пользователь)
источник

ЕО

Евгений Омельченко... in DevOps
Aleksander Mironov
Не, не возможно, объем не позволяет. Там ультрамешанина из истории коммитов будет (я как понимаете тоже не самый опытный гит пользователь)
Ээээ, у вас объём больше чем исходники ядра Linux?
источник

ЕО

Евгений Омельченко... in DevOps
Т.е. три проекта не звучит как что-то страшное для git'а
источник

AM

Aleksander Mironov in DevOps
Евгений Омельченко
Т.е. три проекта не звучит как что-то страшное для git'а
В одной репе? Я говорю я не опытный пользователь гита. Представил - стало плохо, пойду воды выпью.
источник

ЕО

Евгений Омельченко... in DevOps
У нас в одной репе живут 15 совершенно независимых друг от друга проектов суммарно на сотню кодерских рук, и ничего, нормально
источник

AM

Aleksander Mironov in DevOps
Понятно.
Ок.
источник

AM

Aleksander Mironov in DevOps
А как это решает проблему сборки под определенные версии?
источник

DS

Dmitry Sergeev in DevOps
Aleksander Mironov
В одной репе? Я говорю я не опытный пользователь гита. Представил - стало плохо, пойду воды выпью.
у гугла одна репа на все проекты. Идите по пейте ещё воды =)
источник

AS

Aleksey Shirokikh in DevOps
сборочные скрипты работают только с одним кодом
источник

AS

Aleksey Shirokikh in DevOps
так что понятие версии у вас превращается в одну.  тоесть гит как бы исчезает
источник

AM

Aleksander Mironov in DevOps
Dmitry Sergeev
у гугла одна репа на все проекты. Идите по пейте ещё воды =)
источник

AM

Aleksander Mironov in DevOps
Aleksey Shirokikh
так что понятие версии у вас превращается в одну.  тоесть гит как бы исчезает
Ок. Подумаю над этим.
источник

DS

Dmitry Sergeev in DevOps
Aleksander Mironov
Здравствуйте. Я не уверен, что по теме, если нет - редиректните куда надо.

У меня разросся проект и начал состоять из 3х независимых систем (2 корневых устройства + экземпляр датчика).
Стала проблема, они должны иметь определенные (не обязательно одинаковые) версии ПО что бы нормально функционировать.
Плюс собирать прошивки должны уметь все таки не зависимо от меня.

В итоге сейчас пришел к тому, что надо сделать хотя бы простую автоматизацию сборки проектов, которая должна:
- Уметь стянуть исходники с гита последней или определенной версии релиза.
- Гарантировать что исходники 3х проектов будут иметь совместимые версии
- Уметь принимать в себя разнообразные текстовые данные (серийники и тп)

Я 99% карьеры, не то что бы долгой работал один, у меня про организацию командной и прокдукто-организаторской работы - ноль.
Вопрос, куда мне посмотреть хотя бы в какую сторону? Потому что для меня вся эта сфера - какая то рыба под коробками и админы которых программировать заставили.
Я конечно имею вариант это все продолжить (уже начал) делать на павершеле и смейке, но сегодня мне приснился велосипедный завод, где я почему-то бортовал колеса, а они разбортовывались снова и снова.
если честно ваша задача не выглядит сложной даже с тремя репами. Вам нужно автоматизировать сборку, чтобы можно было выбрать определённые версии и собрать ? С чем именно сложность возникает? Как вариант по Makefile(или что там у вас) в каждой репе + общая обвязка, которая запускает сборку указанной версии для каждой репы. Это всё можно обмазать какой нибудь CI встроенной (github actions, gitlab) и сделать чтобы оно само по пушу это все собирало
источник