作为Gitlab CI作业运行tox时权限被拒绝

cj *_*ero 5 gitlab tox gitlab-ci gitlab-ci-runner

我对Gitlab和Gitlab CI比较陌生(实际上是整个CI的事情),我已经在同一台机器上成功设置了我的Gitlab服务器和Gitlab CI服务器(很好,因为缺少备用服务器,而且几乎是因为我们的团队是在整个CI事情上还处于"beta"阶段).

我们现在有两个项目,一个角度项目(作为Web客户端)和一个烧瓶项目(作为Web服务).我已经在Gitlab和Gitlab CI中成功设置了我们的角度项目(效果很好,它运行我们的测试并完全构建脚本).

但是现在我也想设置我们的烧瓶项目,所以我们也可以应用持续集成,并且用于tox运行我们的测试脚本等(gulp用于我们的角度项目).

这是我们非常基本的tox.ini:

[tox]
skipsdist = True
envlist = py27

[flake8]
max-line-length = 79
exclude = venv, .tox
max-complexity = 10

[testenv]
deps=-rrequirements/testing.txt
changedir=tests
commands=py.test
Run Code Online (Sandbox Code Playgroud)

在我们的Gitlab CI Jobs中,我只是放在tox那里,因为我在我的开发服务器上执行的所有操作(这个设置在我的开发机器上工作正常,tox即使我不在运行中也只是运行),但我继续这样做运行此命令时,我的Gitlab CI上的权限被拒绝错误(见下文)

gitlab-ci-multi-runner 0.3.3 (dbaf96f)
Using Shell executor...
Running on hikari...
Fetching changes...
Removing .tox/
Checkouting 8325a2a2 as master...

tox
py27 create: /home/gitlab_ci_multi_runner/tmp/builds/runner-b0fcd933-    project-5-concurrent-0/gitlab.amici.com.ph/hris/xi-flask-starter-kit/.tox/py27
py27 installdeps: -rrequirements/testing.txt
ERROR: invocation failed (errno 13), args: [local('/home /gitlab_ci_multi_runner/tmp/builds/runner-b0fcd933-project-5-concurrent- 0/gitlab.amici.com.ph/hris/xi-flask-starter-kit/.tox/py27/bin/pip'),  'install', '-rrequirements/testing.txt'], cwd: /home/gitlab_ci_multi_runner /tmp/builds/runner-b0fcd933-project-5-concurrent-0/gitlab.amici.com.ph /hris/xi-flask-starter-kit
Traceback (most recent call last):
  File "/usr/local/bin/tox", line 11, in <module>
    sys.exit(cmdline())
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 39, in main
    retcode = Session(config).runcommand()
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 367, in runcommand
   return self.subcommand_test()
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 518, in subcommand_test
    if self.setupenv(venv):
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 423, in setupenv
    status = venv.update(action=action)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 139, in update
    self.install_deps(action)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 249, in install_deps
    self._install(deps, action=action)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 317, in _install
    action=action, extraenv=extraenv)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 283, in run_install_command
    extraenv=extraenv, action=action)
  File "/usr/local/lib/python2.7/dist-packages/tox/venv.py", line 384, in _pcall
    return action.popen(args, cwd=cwd, env=env, redirect=redirect, ignore_ret=ignore_ret)
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 130, in popen
    stdout=stdout, stderr=STDOUT)
  File "/usr/local/lib/python2.7/dist-packages/tox/session.py", line 218, in _popen
    stdout=stdout, stderr=stderr, env=env)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我正在使用新的gitlab-ci-multi-runner和我几乎回收我在我的角度项目上使用的跑步者(我尝试在同一台机器上为我们的烧瓶项目注册一个新的但是当我尝试测试时它没有响应它)

此外,我已经安装了tox全球范围内使用sudo pip install tox,因为这几乎是我刚才与我们的角度项目做sudo npm install -g bower gulpsudo npm install npm -g,

然后我就说了

npm install
bower install
gulp build
Run Code Online (Sandbox Code Playgroud)

在我们的角度项目CI Job