我对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
。)
我是否需要构建包含git
和python
以及我需要的任何其他内容的自己的docker镜像,或者是否有一些“通常”的方式让Gitlab.com转轮拉入外部来自git repo或一些典型的linux包存储库的程序?
如果我不能这样做,那么在这种情况下是跑步者的错误,还是码头图像的错误?
答案 0 :(得分:1)
如果需要,您可以安装git(以及任何其他软件包)。你自己的形象会更快,但不需要它。
pages:
script:
- apk --update add git openssh
- pip install -r requirements.txt
...