Gitlab.com跑步者:如何从外部回购安装和运行软件?

时间:2017-01-17 01:10:55

标签: docker gitlab-ci-runner

我对Gitlab.com的CI和码头工具都很陌生。

我有一个简单的python pelican静态博客,使用简单的.gitlab-ci.yml

构建
image: python:2.7-alpine

pages:
  script:
  - pip install -r requirements.txt
  - pelican -s publishconf.py
  artifacts:
    paths:
    - public

所以我看到它指定了一个python docker镜像,使用pip安装各种python脚本,然后在该图像中运行pelican。

现在我的问题是我想运行一个我自己的鹈鹕版本。我修改了我的requirements.txt文件以查找我自己的鹈鹕分支,但这失败了

beautifulsoup4
markdown
smartypants
typogrify
git+https://github.com/jerryasher/pelican.git@hidden-cats
pelican-fontawesome
pelican-gist
pelican-jsfiddle
pelican-neighbors

现在,当它构建时,Gitlab的Runner告诉我:

Running with gitlab-ci-multi-runner 1.9.0 (82714ae)
Using Docker executor with image python:2.7-alpine ...
Pulling docker image python:2.7-alpine ...
Running on runner-e11ae361-project-1654117-concurrent-0 via runner-e11ae361-machine-1484613050-ce975c76-digital-ocean-4gb...
Cloning repository...
Cloning into '/builds/jerrya/ashercodes'...
Checking out 532f8b38 as master...
$ pip install -r requirements.txt
Collecting git+https://github.com/jerryasher/pelican.git@hidden-cats (from -r requirements.txt (line 5))
  Cloning https://github.com/jerryasher/pelican.git (to hidden-cats) to /tmp/pip-72xxqt-build
  Error [Errno 2] No such file or directory while executing command git clone -q https://github.com/jerryasher/pelican.git /tmp/pip-72xxqt-build
Cannot find command 'git'
ERROR: Build failed: exit code 1

好的,

Git似乎并不存在。确实在上述尝试之前,我在.gitlab-ci.yml脚本中添加了一行(失败),说使用git在本地克隆该repo,并且也失败了,因为......没有git。

(我正在使用python:2.7-alpine的泊坞窗图片似乎也没有apt-get。)

我是否需要构建包含gitpython以及我需要的任何其他内容的自己的docker镜像,或者是否有一些“通常”的方式让Gitlab.com转轮拉入外部来自git repo或一些典型的linux包存储库的程序?

如果我不能这样做,那么在这种情况下是跑步者的错误,还是码头图像的错误?

1 个答案:

答案 0 :(得分:1)

如果需要,您可以安装git(以及任何其他软件包)。你自己的形象会更快,但不需要它。

pages:
  script:
    - apk --update add git openssh
    - pip install -r requirements.txt
    ...