文档

云效统一 Runner 常见问题

排查步骤

重要

在开始处理主机部署、私有构建机申请环境失败问题之前请先按以下步骤确认机器上云效runner状态。

使用排查工具

只支持Linux系统

下载工具:

wget "https://rdc-public-software.oss-cn-hangzhou.aliyuncs.com/runner/runnerStatusCheck" -O runnerStatusCheck

设置执行权限:

chmod u+x runnerStatusCheck

执行工具:

./runnerStatusCheck

按照工具提示信息进行处理,示例如下

image.png

手动排查

第一步:检查系统 Linux 版本是否匹配

通过命令lsb_release -a查看 Linux 发行版本信息是否满足条件。目前云效统一 Runner 支持以下 Linux 发行版本:

  • centos 6+ 及以上

  • ubuntu 16.04+ 及以上

  • Alibaba Cloud Linux 2/3

image

第二步:检查 Runner service 状态和日志

通过命令ls -al /etc/systemd/system | grep runner查看 Runner 服务名称,通常 Runner 服务的名称为 runner-{版本}-{租户名称}.service,如下图所示。

image

通过命令systemctl status runner-{版本}-{租户名称}.service查看 Runner 服务状态,如果服务状态为 active(running),则服务正常,如下图所示。

image

另外,你也可以通过命令journalctl -u runner-{版本}-{租户名称}.service -a --no-pager --since '5 minutes ago' -f查看 Runner 执行日志。

常见报错

构建/部署运行中,无日志或者主机状态显示为离线

  • 检查主机磁盘是否满了df -hl ,如果磁盘已满请尝试清理后重试。

  • 检查 Runner service 状态,如果状态非 active(running),通过命令systemctl restart runner-{版本}-{租户名称}.service重启 Runner service。

  • 检查网络连通性是否正常。

    • 通过systemctl status runner-{版本}-{租户名称}.service查询 Runner service 状态,并截取 service 进程参数 --configPath=***,如下图所示。image

    • 查看 configPath 中URL cat {***}/config.yml | grep url

      image
    • 通过以下命令判断是否可以正常访问。

      # 注意替换下面命令中的url
      curl '{url}/api/v2/runner/storage/latest?os=linux&arch=amd64'
  • 创建主机组/构建集群报错或手动安装 Runner 报错

  • 典型报错如下:

  • image
  • 目前 Flow 上创建主机组/私有构建集群支持通过 ECS 主机选择、自有主机安装两种方式,但对于同一台机器不可以在同一个云效企业中使用两种方式分别添加。例如,你已经通过 ECS 主机选择的方式添加了主机 A,该主机无法再次通过自有主机方式添加进主机组。

  • 只有将主机上的 Runner 卸载后,才可以更换添加方式,可以通过以下命令卸载 Runner 。

  • systemctl stop runner-{版本}-{租户名称}.service
    rm -rf /etc/systemd/system/runner-{版本}-{租户名称}.service
    rm -rf /root/yunxiao/{租户名称}/runner/config

    部署命令可以在机器上手动执行成功,但在 Flow 流水线上执行失败

    • 添加与命令相关的环境变量,例如:source /root/.bash_profile;source /etc/profile;

    • 部署相关脚本尽量使用绝对路径,不要使用相对路径,例如:/home/admin/app/deploy.sh,。

  • 本页导读 (0)
文档反馈