подмодулями через ci/cd, выглядит это следующим образом
Submodule 'klick' (https://gitlab-ci-token:[MASKED]@ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git) registered for path 'klick'
Synchronizing submodule url for 'klick'
Cloning into 'C:/GitLab-Runner/builds/X8rHVySW/0/ospo/keys_load/tetra.keys-loader-pars/klick'...
remote: The project you were looking for could not be found or you don't have permission to view it.
fatal: repository 'https://ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git/' not found
fatal: clone of 'https://gitlab-ci-token:[MASKED]@ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git' into submodule path 'C:/GitLab-Runner/builds/X8rHVySW/0/ospo/keys_load/tetra.keys-loader-pars/klick' failed
Failed to clone 'klick'. Retry scheduled
Cloning into 'C:/GitLab-Runner/builds/X8rHVySW/0/ospo/keys_load/tetra.keys-loader-pars/klick'...
remote: The project you were looking for could not be found or you don't have permission to view it.
fatal: repository 'https://ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git/' not found
fatal: clone of 'https://gitlab-ci-token:[MASKED]@ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git' into submodule path 'C:/GitLab-Runner/builds/X8rHVySW/0/ospo/keys_load/tetra.keys-loader-pars/klick' failed
Failed to clone 'klick' a second time, aborting
Cleaning up project directory and file based variables
Права на проект-подмодуль есть; ручная выгрузка (git clone —recursive) также отрабатывает корректно и выгружает проект с подмодулем. Сам проект-подмодуль существует по пути. Перестала отрабатываться выгрузка именно в сборочных линиях. Проблема проявляется, как на раннере с Windows (powershell), так и на Linux (docker). Подскажите, пожалуйста, куда возможно посмотреть? Что-то уже все перепробовал известного, но ничего не разрешает проблему.
Из того, что получилось сузить до примерной причины - проблема связана с правами, так как новый добавленный подмодуль из "открытой" группы выгружается корректно. Возможно ли, что после обновления платформы какие-то права могли слететь в настройках сервера?
Сгенерируй свежий токен и проверь
Добрый день. Сбросил токен регистрации раннеров на новый, перерегистрировал раннер, используя новый токен, но проблема не разрешилась. Подскажите, пожалуйста, вы подразумевали другой токен?
Ку. Регать раннер было бессмысленно))) Я про personal access token, который у тебя в переменной
Вас понял, попробую, благодарю!
Добрый день. Пытаюсь разобраться с токеном: дело в том, что я не задавал никакого токена специально в разделе своего профиля (access tokens). Синтаксис, который отображается в выводе сборочных линий GitLab Submodule 'klick' (https://gitlab-ci-token:[MASKED]@ДОМЕННОЕ_ИМЯ/ospo/keys_load/klick.git) registered for path 'klick' формируется так, если я использую относительный путь до подмодуля в .gitmodules. Это выглядит так: [submodule "klick"] path = klick url = ../klick.git То есть, выгрузка происходит не с указанием абсолютного пути с использованием конкретного протокола SSH или HTTPS. А теперь собственно вопрос: если я не формировал токен, по которому ранее происходила выгрузка, то как мне его пересоздать в таком случае?
а он ранее был создан в профиле твоего юзера?
Нет, никаких токенов нет, ни у меня, ни у разработчиков, которые запускали сборочную линию по данному проекту. В какой-то момент, предположу, что после обновления до новой версии платформы, перестала происходить выгрузка подмодулей (ругается на недоступность репозитория или недостаток прав, хотя и то, и другое полностью существует и разрешено). Происходит это только с конкретным проектом, в других проектах нет такой проблемы
какую конкретно цель ты преследуешь, какой итоговый результат ты хочешь видеть?
У меня есть проект, содержащий подмодули. Сборочная линия производит компиляцию ПО. Компиляция ПО головного проекта требует наличия исходного кода других проектов (подмодулей). Цель - скомпилировать программу. Проблема: перестали выгружаться подмодули.
А у пользователя, который запускает пайплайн, есть разрешения на доступ к репозиториям, указанным в субмодулях ?
Верно. Все права наличествуют
На конкретном примере: запускаю самостоятельно, имея на все проекты роль "Owner"
Развернул чистый GitLab EE (15.11.2) и чистый раннер (оба в docker контейнерах). Создал приватную группу test и добавил в нее 2 проекта: testcicd1 и testcicd2. Выгрузив проект testcicd1, я добавил к нему сабмодуль командой git submodule add ../testcicd2 и подготовил .gitlab-ci.yml с содержимым: stages: - build variables: GIT_STRATEGY: clone GIT_SUBMODULE_STRATEGY: recursive build-win-job: stage: build tags: - shell script: - ping ya.ru -c1 после чего запушил изменения. Результат тот же - не может выгрузить подпроект, в логе сборочной линии выводит, что подпроект не найден. При этом локально все выгружает. Может я что-то в корне неправильно делаю?)
Обсуждают сегодня