Gitlab-CI无法克隆

时间:2019-01-31 20:10:09

标签: gitlab-ci gitlab-ci-runner

我具有构造用于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 :(得分:0)

检查是否被gitlab-org/gitlab-ce issue 39469覆盖

  

是的-它对我有用。这个问题似乎有多种解决方案。

     

为我工作的人是#44855

     

总结。在Gitlab上成为管理员并不意味着您具有在Gitlab中执行任何操作的“权限”。

     

“无法访问”权限适用于登录到Gitlab并运行作业的人。
  要解决此问题-负责这项工作的人员/帐户必须是项目的成员(主管)。

     

这将适用于私人项目。
  即使看起来可以解决该问题,也不必将私有项目设为“公开”。 GITLAB建议您必须具有https才能使该项目正常运行,然后才能使用http。

     

解决方案-即使您是管理员,也要将帐户添加到项目中

并且:

  

康拉德正确地描述了它。

     

您需要对项目具有运行管道的权限,但是,作为管理员,您可以启动任何管道。

     

我已经知道,尽管从理论上说,无权拥有项目权限,但在Gitlab中作为Admin的用户可以从命令行推送其提交-并且管道失败了。

     

此矛盾需要得到解决,或者管理员用户不应该能够推送/启动管道,对其没有任何权限,或者应该以合法的方式授予他所有项目的所有权限。我更喜欢第一个,因为它将gitlab管理与项目权限分开。有时我更喜欢没有完全的权限,就像在Linux下以非root用户身份工作一样。