Size: a a a

1С, БСП, DevOps и Архитектура

2020 October 28

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Поделитесь еще опытом.
Вот у меня есть конфигурация и 2 расширения. Каждое в своём репозитории.
В один из репозиториев помещают изменение. Я не хочу заново пересобирать все 3 репозитория, хочу пересобрать один, а для двух других использовать уже ранее собранное.
Мне как лучше делать, скидывать собранное в кеш и оттуда чтобы гитлаб автоматически доставал?
Или хранить ид коммитов в кеше, и если ид не изменились, то скачивать cf и cfu из артефактов последней успешной сборки?
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Кеш не для хранения же, он для ускорения пайплайнов
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
По любому правильнее артефакты последней сборки
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Александр Капралов
Поделитесь еще опытом.
Вот у меня есть конфигурация и 2 расширения. Каждое в своём репозитории.
В один из репозиториев помещают изменение. Я не хочу заново пересобирать все 3 репозитория, хочу пересобрать один, а для двух других использовать уже ранее собранное.
Мне как лучше делать, скидывать собранное в кеш и оттуда чтобы гитлаб автоматически доставал?
Или хранить ид коммитов в кеше, и если ид не изменились, то скачивать cf и cfu из артефактов последней успешной сборки?
Ну, в нормальном мире должен быть общий пайп деплоя, состоящий из трех пайпов сборки конфигурации и расширений, и который либо дёргает артефакты из последних сборок, либо тригерить новую сборку если там висят новые коммиты в репах, ну и собсно общий пайп агрегирует все результаты.
Правда я понятия не имею как это сделать в гитлаб цэай =)
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Из других реп они достаются прекрасно, у меня такой процесс есть.
Тоже расширение в отдельной репе. При сборке конфигурации, скачаивается последний артефакт расширения и подключается.
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Пётр Зиннатханов
Из других реп они достаются прекрасно, у меня такой процесс есть.
Тоже расширение в отдельной репе. При сборке конфигурации, скачаивается последний артефакт расширения и подключается.
А если из той же, то недостаются?
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
А вот не знаю, проверять лениво, если честно.
Опираясь на ваше сообщение выше - предполагаю, что нет :)
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Кирилл Черненко
Ну, в нормальном мире должен быть общий пайп деплоя, состоящий из трех пайпов сборки конфигурации и расширений, и который либо дёргает артефакты из последних сборок, либо тригерить новую сборку если там висят новые коммиты в репах, ну и собсно общий пайп агрегирует все результаты.
Правда я понятия не имею как это сделать в гитлаб цэай =)
Я пока остановился на варианте, что у меня отдельная репа только для сборки. И там всё агрегируется
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Александр Капралов
Я пока остановился на варианте, что у меня отдельная репа только для сборки. И там всё агрегируется
А дергаете вы в ней CI руками чтоли?
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Пётр Зиннатханов
А дергаете вы в ней CI руками чтоли?
По расписанию.
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Хм. Ну раз вам так удобнее.
У меня вполне все собирается в репе основной конфигурации по коммиту, неудобств не заметил пока.
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
У меня ночная сборка по расписанию.
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
Александр Капралов
У меня ночная сборка по расписанию.
что мешает сделать ночную сборку в той же репе, где лежит проект?
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Пётр Зиннатханов
Хм. Ну раз вам так удобнее.
У меня вполне все собирается в репе основной конфигурации по коммиту, неудобств не заметил пока.
А если коммит пришел в репе расширения, а основная конфигурация не изменилась, как сборка в основной репе запускается?
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Nikita Gryzlov
что мешает сделать ночную сборку в той же репе, где лежит проект?
Так репозитория 3. И проекта 3.
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
Александр Капралов
Так репозитория 3. И проекта 3.
ну, храни артефакты проекта в собственном проекте. а отдельный пайплайн вынеси в четвертую репу. в итоге у тебя артефакты лежат рядом с кодом (где они и должны лежать, если не используется внешний артефактори), у каждого проекта своя независимая сборочная линия, плюс есть проект, который тестирует интеграцию
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Ну вот отличается процесс очевидно.
У меня попроще, расширение по сути утилитарное, берется только из релизной ветки, и не стоит задачи при выпуске нового релиза пересобирать родительский проект.
А если связь жесткая как у вас - в гитлабе есть чайлд/парент пайплайны
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
Т.е. как-то там можно сделать зависимость реп, которая вам нужна, но я не курил. И возможно премиум.
источник

АК

Александр Капралов... in 1С, БСП, DevOps и Архитектура
Пётр Зиннатханов
Т.е. как-то там можно сделать зависимость реп, которая вам нужна, но я не курил. И возможно премиум.
Опытные коллеги рассказывали что это такой гимморой, что лучше в него даже не смотреть.
источник

ПЗ

Пётр Зиннатханов... in 1С, БСП, DevOps и Архитектура
И как раз при CI расширения будет дергаться CI репы, которые от нее зависят и преесобираться
источник