GitLab runner запрошенный URL вернул ошибку: 403



В настоящее время я использую gitlab.com (не локальная установка) с их мульти-бегуном для интеграции CI. Это отлично работает на одном из моих проектов, но терпит неудачу для другого.



Я использую 2012R2 для моего хоста с MSBuild версии 14.0.23107.0. Я знаю, что ошибка ниже показывает 403, которое является сообщением об отказе в доступе. Моя проблема заключается в том, чтобы найти параметр разрешения для изменения.



Сообщение об ошибке:




Запуск с gitlab-ci-multi-runner 1.5.3 (fb49c47) с использованием оболочки
исполнитель... Работает на WIN-E0ORPCQUFHS...



Выборка изменений...



Руководитель сейчас находится на 6a70d96 обновление бегун дистанционное файл: отказано в доступе смертельным:
невозможно получить доступ
'https://gitlab-ci-token:[email protected]/##REDACTED##/ADInactiveObjectCleanup.git/':
Запрошенный URL-адрес вернул ошибку: 403 проверка 60ea1410 как
Производство...



Фатально: ссылка-это не дерево:
60ea1410dd7586f6ed9535d058f07c5bea2ba9c7 ошибка: Ошибка сборки: выход
статус 128




Gitlab-ci.файл yml:



variables:
Solution: ADInactiveObjectCleanup.sln

before_script:
#- "echo off"
#- 'call "%VS120COMNTOOLS%vsvars32.bat"'
## output environment variables (usefull for debugging, propably not what you want to do if your ci server is public)
#- echo.
#- set
#- echo.

stages:
- build
#- test
#- deploy

build:
stage: build
script:
- echo building...
- '"%ProgramFiles(x86)%MSBuild14.0Binmsbuild.exe" "%Solution%" /p:Configuration=Release'
except:
#- tags
802   2  

2 ответов:

Чтобы решить эту проблему, мне пришлось добавить себя в качестве участника проекта. Это частное РЕПО. Я не уверен, что это привело к сбою runner с другой настройкой разрешений или нет, но это очень возможно.

Эта справка Статья в gitlab описывает этот вопрос.

При наличии новой модели разрешений могут возникнуть ситуации, когда ваш построить не получится. Это, скорее всего, потому, что ваш проект пытается доступ к другим источникам проекта, и у вас нет соответствующий разрешения. В журнале сборки найдите информацию о 403 или Запрещенные сообщения доступа.

Как администратор, вы можете проверить, что пользователь является членом группы или проекта, к которым он пытается получить доступ. чтобы, и вы можете олицетворять пользователя, чтобы повторить неудачную сборку в чтобы убедиться, что все правильно.

На странице проекта щелкните шестеренку настройки и выберите пункт участники. Добавьте себя (или пользователя, генерирующего строит) как участник проекта. Я использовал роль "мастер", но на основе этого документа вы, вероятно, можете использовать роль" Репортер " как минимум. Роль репортера-это наименьшая привилегия, которая все еще имеет доступ к "вытягиванию кода проекта"."Это устранило мою ошибку 403 и позволило мне продолжить работу.

Похоже, что вам нужно добавить команду add a cd для печати текущего каталога в ваш before_script. Затем перейдите к исправлению разрешений для доступа к родительской папке. Если вы установили свой GitLab runner на c:\glrunner-это, наверное, так. c:\glrunner\builds разрешение вам нужно исправить.

Вторая проблема заключается в том, что вам может потребоваться принудительно создать новый клон git, удалив папку build.

Вы можете изменить учетные данные для входа в службу GitLab runner на gitlabuser, которые должны быть учетная запись без администратора, которая может иметь меньше привилегий, чем учетная запись локальной системы, которую по умолчанию использует ваш GitLab runner.

Если вы хотите знать, кто вошел в систему, добавьте set в свой before_script, и вы получите дамп переменной окружения. Из этого вы можете видеть, какая учетная запись вошла в систему, и где находится ее USERPROFILE и другие вещи.

Comments

    Ничего не найдено.