gitlab-runner:管道无限等待
Posted
技术标签:
【中文标题】gitlab-runner:管道无限等待【英文标题】:gitlab-runner:Pipeling is pending infinitely 【发布时间】:2019-11-21 23:08:59 【问题描述】:我安装了一个Specific Runners,状态是actived。
我的 .gitlab-ci.ymi 文件代码:
stages:
- build
build_maven:
stage: build
only:
- master
script:
- echo "hello CI/CD"
tags:
- vue-dev-pub
当我推送主分支时,gitlab-runner 正在运行,但它无限等待。
工作页面显示:
此作业尚未开始
此作业处于待处理状态,等待运行者选择
如果我手动执行运行器,工作可以通过。
gitlab-runner verify 命令显示:
Runtime platform arch=amd64 os=linux pid=24616 revision=d0b76032 version=12.0.2
WARNING: Running in user-mode.
WARNING: The user-mode requires you to manually start builds processing:
WARNING: $ gitlab-runner run
WARNING: Use sudo for system-mode:
WARNING: $ sudo gitlab-runner...
Verifying runner... is alive runner=T4iKvsT3
等你回复,谢谢!
【问题讨论】:
【参考方案1】:如果您在调试模式gitlab-runner --debug run
下手动运行运行器,您可能会看到实际的错误消息,在我的例子中是:
WARNING: Failed to process runner builds=0 error=failed to update executor: missing Machine options executor=docker+machine runner=pSUsX4yR
那是因为在创建跑步者时,我选择了选项docker+machine
而不是docker
。
将/etc/gitlab-runner/config.toml
修改为docker
并运行gitlab-runner restart
后跟gitlab-runner verify
,管道再次开始运行。
【讨论】:
【参考方案2】:我在 linux 上的 (shell) 跑步者遇到了类似的问题。它可以在我的一台计算机上安装和注册的跑步者上正常工作,但在另一台电脑上则不行。 (即使标签在跑步者和工作中正确匹配)
之后
gitlab-runner register
我会得到:
新跑步者。尚未连接
之后
gitlab-runner verify
那个错误会消失。但我会得到 p>
此作业处于挂起状态,等待运行者选择
之后
gitlab-runner restart
一切都会好起来的。
gitlab-runner status
gitlab-runner:服务正在运行!
【讨论】:
【参考方案3】:.gitlab-ci.yml
文件中的标签部分指定该作业必须由具有相同标签 (reference) 的跑步者选择。
tags:
- vue-dev-pub
因此,除非您的项目实际上有一个具有vue-dev-pub
标签的运行器可用,否则它将一直等待一个可用的运行器。
【讨论】:
我的runner注册了一个标签'vue-dev-pub',感觉gitlab-runner不太友好 如果你能分享你的跑步者配置文件会有所帮助以上是关于gitlab-runner:管道无限等待的主要内容,如果未能解决你的问题,请参考以下文章