我在使用 GitLab CI 时遇到了一些问题。对于上下文,这是我尝试配置的第一个 CI。 GitLab 通过 Omnibus 软件包安装,在 CentOS 6 64 位上是 9.0.6CE 版本。 GitLab 运行器安装在 2 个系统上:Ubuntu 16.04 64 位和 CentOS 6 64 位。第二个运行者与 GitLab 在同一台服务器上。运行者的版本是 9.1.1。通过存储库安装。我曾尝试在 Docker 服务中使用运行者,但它并没有改变结果。 服务器位于代理服务器之后,其身份验证限制了它们对 Internet 的访问。我已将服务器配置为管理代理(环境变量等),Docker 可以从 Internet 检索图像。
我有一个 PHP 项目,我想在每次推送时做一些 PHPUnit 测试。当我在本地运行运行者时,一切正常。但是当 runner 被 GitLab CI 激活时,git 存储库无法被克隆。您有解决问题的方案或建议吗?
.gitlab-ci.yml:
image: php:7.1.0
before_script:
- bash ci/docker_install.sh > /dev/null
test:php7.1:
script:
- phpunit --coverage-text -c app/
tags:
- docker
作业结果:
Running with gitlab-ci-multi-runner 9.1.1 (6104325)
on arthur-docker (7b16a671)
Using Docker executor with image php:7.1.0 ...
Using docker image sha256:bca6e849844c9924fda99a3d8e271d37d9ed4fb5bc5727c3fe6c3ba171a4fdae for predefined container...
Pulling docker image php:7.1.0 ...
Using docker image php:7.1.0 ID=sha256:97c69bd40b40e1a1338409408ceb61b779097cc857037305450ad9a1ea249695 for build container...
Running on runner-7b16a671-project-138-concurrent-0 via f24c7be7d1da...
Cloning repository...
Cloning into '/builds/ems/gest_dev'...
fatal: repository 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@internal.server.ratp:82/ems/gest_dev.git/' not found
ERROR: Job failed: exit code 1
最佳答案
检查这里的问题:
- https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1721
- https://gitlab.com/gitlab-org/gitlab-ce/issues/22501
简答:
remote: Git access over HTTP is not allowed
关于git - 无法从 Docker 中的 GitLab CI 克隆 repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044938/