Я работаю над проектом gitlab с собственным репозиторием git с ролями Ansible.
Дело в том, что у нас также есть некоторые общие роли, которые поддерживаются другой командой. Эти роли находятся в отдельном проекте, и каждая роль похожа на подпроект с собственным репозиторием. Прямо сейчас в нашем конвейере мы делаем git-клон этих ролей из раннера, выполняем код и снова удаляем клон.
Хотя этот механизм работает хорошо, такой подход вызывает проблему. Скажем, мы развертываем для разработки, тестирования и принятия, а затем другие роли обновляют общие роли. К тому времени, когда мы развернем в производство, мы получим несоответствия, так как клонированные общие роли изменились.
Так что я подумал о введении git-тегов. Каждый коммит на общих ролях помечается номером версии. Затем мы можем сделать git clone и проверить номер версии.
Однако я изо всех сил пытаюсь понять, как реализовать это в конвейере. Есть ли способ сделать это без необходимости жестко кодировать номера версий в конвейере?