Предположим, есть монорепозиторий с несколькими независимо собираемыми пакетами Python в разных каталогах, что-то вроде формата, показанного ниже, где foo
и bar
можно собирать независимо.
Теперь предположим, что кто-то отправляет код в репозиторий git, где он размещен, и версии кода находятся только в пакете bar
. Если Jenkins примет решение, есть ли у Jenkins какой-либо способ определить, какой пакет был изменен, и собрать и развернуть только измененный пакет, например bar
?
Или, наоборот, это просто стандартная практика, когда Jenkins перестраивает/повторно развертывает все пакеты в монорепозитории, независимо от того, какие изменения были внесены?
root/
└ src/
├ foo/
│ ├ requirements.txt
│ ├ setup.py
│ └ foo/
│ ├ __init__.py
│ ├ module1.py
│ ├ ...
│ └ moduleN.py
.
.
.
└ bar/
├ requirements.txt
├ setup.py
└ bar/
├ __init__.py
├ module1.py
├ ...
└ moduleN.py