GitLab Runner检查流水线状态卡住

667次阅读
没有评论

问题描述

在将GitLab Runner安装到容器中,并进行注册后,发现在GitLab上的Runner状态一直卡在”Checking pipeline status”,无法调试或了解具体情况,非常沮丧。
用户的情况如下:
– 用户有一个私有的GitLab,域名为gitlab.mydomain.com。
– 用户创建了一个包含Node.js应用程序的项目。
– 用户创建了Dockerfile,并且在服务器上构建工作正常。
– 用户希望自动构建镜像,并将其推送到hub.docker.com,用户在该网站上有一个私有仓库的专业账户。

用户提供了以下的.gitlab-ci.yml文件,但是构建没有任何反应:

image: docker:stable
stages:
  - Build image
docker build:
  stage: Build image
  script:
    - docker info
    - docker build -t private/project:1.0 .

用户还提供了gitlab-runner容器的日志,但是用户不知道这些日志的含义。以下是用户执行docker logs container_id命令后得到的日志:

Configuration loaded
builds=0
Starting multi-runner from /etc/gitlab-runner/config.toml ...
builds=0
Running in system-mode.
Configuration loaded
builds=0
Metrics server disabled

用户还提供了一个截图,展示了GitLab Runner的状态,如下图所示:
GitLab Runner检查流水线状态卡住

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户提供的信息,可能有以下几个原因导致GitLab Runner的状态卡住:
1. GitLab Runner没有正确连接到GitLab服务器。
2. GitLab Runner没有正确注册到GitLab项目。
3. GitLab Runner没有正确配置Docker环境。

以下是解决方案的步骤:
1. 确保GitLab Runner已正确连接到GitLab服务器。可以通过在GitLab服务器上运行以下命令来检查GitLab Runner的状态:
sudo gitlab-runner status
如果GitLab Runner没有正确连接到GitLab服务器,可以尝试重新注册GitLab Runner。具体步骤如下:
– 在GitLab服务器上运行以下命令,获取GitLab Runner的注册令牌:
sudo gitlab-runner register
– 按照提示输入GitLab服务器的URL、注册令牌以及其他必要的信息。
– 完成注册后,重新启动GitLab Runner服务:
sudo gitlab-runner restart

  1. 确保GitLab Runner已正确注册到GitLab项目。可以在GitLab项目的设置页面中检查是否有一个活动的Runner与项目关联。具体步骤如下:
  2. 在GitLab项目中,点击”Settings”,然后选择”CI/CD”。
  3. 在”Runners”部分,确保至少有一个Runner与项目关联,并且状态为”活动”。

  4. 确保GitLab Runner已正确配置Docker环境。可以通过以下步骤检查GitLab Runner的Docker配置:

  5. 在GitLab Runner所在的服务器上,编辑GitLab Runner的配置文件/etc/gitlab-runner/config.toml
  6. 确保配置文件中的[[runners]]部分包含正确的Docker配置,例如:
    toml
    [[runners]]
    name = "My Runner"
    url = "https://gitlab.mydomain.com/"
    token = "your_registration_token"
    executor = "docker"
    [runners.docker]
    tls_verify = false
    image = "docker:stable"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

    请根据实际情况修改配置文件中的URL、token和其他参数。

如果以上解决方案仍然无法解决问题,请尝试以下额外的步骤:
– 检查GitLab Runner容器是否正常运行,并且没有其他错误或警告信息。
– 检查GitLab Runner容器是否有足够的资源(例如CPU、内存)来执行构建任务。
– 检查GitLab服务器的日志,查看是否有与GitLab Runner相关的错误或警告信息。

希望以上解决方案能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。

正文完