Gitlab-CI не может клонировать - PullRequest
0 голосов
/ 31 января 2019

У меня есть базовая интеграция, настроенная для Gitlab-CI, но она почти сразу перестает работать, когда приходится клонировать код.

Моя интеграция такая:

image: node:latest

stages:
  - build
  - test

cache:
  paths:
    - node_modules/
    - dist/

build-prod:
  stage: build
  script:
    - npm install
    - npm run build-prod
  artifacts:
    paths:
      - node_modules/
      - dist/

test_with_karma:
  stage: test
  script: ng test

Иошибка, которую я получаю, такова:

Running with gitlab-runner 11.7.0 (8bb608ff)
  on fakehost 2eaf11ea
Using Docker executor with image node:latest ...
Pulling docker image node:latest ...
Using docker image sha256:8c67bfd7b95bdc535edc4a4144f5392b0f73efd6385fbcb47747d028d7059359 for node:latest ...
Running on runner-2eaf11ea-project-56-concurrent-0 via fakehost...
Cloning repository...
Cloning into '/builds/redacted/frontend'...
remote: You are not allowed to download code from this project.
fatal: unable to access 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@working-domain.com/redacted/frontend.git/': The requested URL returned error: 403
/bin/bash: line 65: cd: /builds/redacted/frontend: No such file or directory
ERROR: Job failed: exit code 1

В чем здесь проблема?

1 Ответ

0 голосов
/ 01 февраля 2019

Проверьте, распространяется ли это на gitlab-org/gitlab-ce выпуск 39469

YAY - это работает для меня.Эта проблема, кажется, имеет несколько решений.

Тот, который работал для меня, это # 44855

Подводя итог.Быть администратором в Gitlab не означает, что у вас есть «доступ» к тому, что вы хотите делать в Gitlab.

Разрешения «Невозможно получить доступ» применяются к лицу, вошедшему в Gitlab и выполняющему задание.
Чтобы устранить проблему - человек / учетная запись, выполняющая задание, должен быть участником (основным)проект.

Это будет применяться к частным проектам.
Не нужно делать частный проект публичным, даже если кажется, что это решает проблему.GITLAB предлагает вам иметь https для работы проекта, вы можете использовать http.

РЕШЕНИЕ - добавьте свою учетную запись в проект, даже если вы являетесь администратором

И:

Конрад описал его правильно.

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

У меня есть случай, когда пользователь, являющийся администратором в Gitlab, может вытолкнуть свой коммит из командылиния, хотя теоретически не имеет прав на проектирование - и конвейер не удалось.

Это несоответствие необходимо исправить, либо администратор не должен иметь возможность запустить / запустить конвейер, не имея прав на него, либо онавтоматически должны быть предоставлены все права на все проекты.Я бы предпочел первый, потому что он отделяет администрацию gitlab от прав проекта.Иногда я предпочитаю не иметь полных прав, например, работать в Linux без полномочий root.

...