Собрать журнал изменений подмодулей для отчетности в процессе CI - PullRequest
0 голосов
/ 05 июля 2019

Я ищу способ сбора сообщений журнала последнего "набора" коммитов, который включает в себя как мои коммиты, так и любые субмодули.

Я использую gitlab-ci, и у меня есть один проектэто включает 4 подмодуля.Когда субмодуль обновляется, он запускает сборку основного проекта, и уведомление будет опубликовано в режиме slack.

Я использую переменную $CI_COMMIT_MESSAGE для публикации содержимого сообщения, чтобы расслабиться, однако, это будет воспринимать изменения только в моем основном проекте, а не в подмодулях.

В процессе сборкиЯ звоню:

git submodule sync
git submodule update --init --recursive --remote --force

, чтобы обновить мои сабы.

Что я действительно хотел бы сделать, так это уметь реализовать следующий псевдокод:

foreach submodule
    collect current_git_sha
    if current_git_sha != HEAD
        collect log messages between current SHA and HEAD
    end if

    update submodule
end foreach

Таким образом, я могу сообщить сообщение, подобное:

  • SubModule3: обновлены некоторые вещи

, чтобы ослабить.

Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 06 июля 2019

Мне удалось решить свой вопрос (еще раз).Сценарий, который я в итоге использовал, доступен здесь:

https://gist.github.com/jeeftor/e7a07f10a38be1b7fa20e41fae88a4bc

И написал пост об этом здесь: https://medium.com/@Jeef/creating-a-git-submodule-change-log-for-ci-db60c90f821c

...