我在Docker容器上运行了一个Gitlab服务器:gitlab docker
在Gitlab上有一个带有简单Makefile的项目,它运行pdflatex来构建pfd文件。
在我安装了texlive和make的Docker容器上,我还安装了docker runner,命令:
curl -sSL https://get.docker.com/ | sh
.gitlab-ci.yml如下所示:
.build:
script: &build_script
- make
build:
stage: test
tags:
- Documentation Build
script: *build
作业停止运行并显示一条消息:
This build is stuck, because the project doesn't have any runners online assigned to it
任何想法?
答案 0 :(得分:1)
我觉得你在这里有些困惑。从这个评论判断:
在Docker容器上我安装了texlive和make,我也安装了 docker runner,命令:
curl -sSL https://get.docker.com/ | SH
看来你已经在docker中安装了docker而没有实际安装任何跑步者?如果是这样的话,这将不起作用。实现这一目标的步骤是:
.gitlab-ci.yml
,构建将按预期工作。答案 1 :(得分:1)
您链接的最高评论位于:
" Gitlab很好,但这个容器绝对是疯子。"
其次关注gitlab's own advice你应该不要在Windows上使用这个容器。
如果你想从Gitlab服务器使用Gitlab-CI,你应该在一个适当的支持Linux VM上使用Omnibus安装一个合适的Gitlab服务器实例,并且不应该试图将这个容器用于显而易见的目的不适合:运行Gitlab的真实生产方式。
Gitlab-omnibus包含:
由postgres提供支持的持久性(非无状态!)数据层。
一个聊天服务器,其中现有的全部内容是您的团队聊天的持久日志。
不是一个,而是一系列服务器进程,它们协同工作,为您提供gitlab服务器功能和Web管理/管理前端,这个设计似乎不适合我在docker中的生产中运行。< / p>
一个集成的CI构建管理器,本身就是Docker容器管理器。您的docker实例将包含其他docker实例的缓存。
这个容器是由Gitlab本身构建的,并没有迹象表明你实际上应该将它用于测试/玩具以外的任何东西,或者Gitlab自己实际使用它的东西,这可能是为了让人们在夜间构建Gitlab,可能是通过kubernetes。
答案 2 :(得分:0)
也许您像我一样设置了错误的标签。确保标签名称带有可用的运行器。
tags
- Documentation Build # tags is used to select specific Runners from the list of all Runners that are allowed to run this project.