Я пытаюсь использовать личное git-репо в качестве подмодуля в моем приложении.
Локально я могу клонировать мой основной репо и правильно вытащить все подмодули.
Я использую GitLab.com для своего хостинга и раннера.
В GitLab Runner публичный репозиторий, размещенный на GitHub, работает нормально, но приватный репозиторий, размещенный на GitLab, не будет извлекать последний код.
Я владелец основного проекта и частного подмодуля.
Я заметил, что это началось после того, как я внес изменения в мой подмодуль, когда работал над моим основным проектом.
Когда я пытаюсь выполнить автоматическую сборку на GitLab Runner, подмодуль будет тянуть, но даже если он показывает правильный (текущий / последний) Git Ref SHA1, файлы давно отображаются из коммита. Я пробовал много итераций способов получить приватное репо, и я внес незначительные изменения в мой подмодуль. Даже до сих пор я не могу получить самую последнюю версию кода субмодуля.
Я пытался использовать встроенные переменные бегуна GitLab , чтобы вытащить подмодули, и я настроил before_script для попытки ручного извлечения.
Я также обновил мой локальный подмодуль и зафиксировал изменения в моем основном репо.
Здесь используется переменная бегуна GitLab
variables:
GIT_SUBMODULE_STRATEGY: recursive
Вот пример перед сценарием, я пробовал это с настройкой и без GIT_SUBMODULE_STRATEGY: нет
Я пробовал много вариантов этого удаления и добавления строк, пытаясь получить самый последний код.
- git submodule sync --recursive
- git submodule update --force --recursive --remote
- git submodule foreach git pull
- git submodule status
- git submodule foreach git log -1
Ожидаемое:
Бегун GitLab должен получить последний коммит на ветке подмодуля.
Фактический:
GitLab извлекает подмодуль, но изменения кода после определенной фиксации не отображаются, даже если показанная фиксация является текущей.