Суть: есть build-ветка, которая собирается в Jenkins.
Проект имеет подмодуль, который может обновиться и в build-ветке может/будет находиться информация, что мы находимся на коммите № 1 (когда уже написали 2 фичи и сделали 2 коммита).
При инициализации модулей в Jenkins мы перепрыгнем на коммит № 3 в модуле и появятся изменения (что модуль находится на коммите № 3, а не на № 1).
Куда эти изменения коммитить и пушить? В саму build-ветку? Если да, то если Jenkins pipeline настроен на проверку SCM, то Jenkins при повторной проверке изменений в репозитории увидит свой же коммит и начнет пересобирать проект еще раз, что не хотелось бы. Или заводить каждый раз отдельную ветку с, например, текущей датой и временем или завести еще одну ветку, например post-build и пушить изменения в модулях в неё, чтобы потом можно было эти изменения накатить на master?
Вот такое я вижу в Jenkins сейчас:
> git submodule update --init --recursive --remote modules/test2 # timeout=10
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Git commit changes)
[Pipeline] script
[Pipeline] {
[Pipeline] withCredentials
Masking supported pattern matches of $GIT_PASSWORD
[Pipeline] {
[Pipeline] sh
+ git status
HEAD detached at 16ea377
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: modules/test2 (new commits)