Go无法轮询变更

    您的查询搜索没有结果。

    GoCD无法轮询变更

    GoCD服务器会轮询所有“自动触发”管道的所有材料变更。默认情况下,轮询每分钟发生一次,每次针对十种材料。轮询间隔和同时轮询的材料数量是可配置的。

    GoCD使用SCM命令来轮询变更。例如,要检查SVN存储库中的任何新变更,可以使用以下命令:

    svn log --non-interactive --xml -v -r HEAD:'revision' 'repository-URL'
    

    GoCD服务器使用的SCM命令可能由于无输出而挂起。无效的配置、网络问题、控制台输入阻塞等是一些原因。这样的情况会导致管道调度延迟,并导致性能下降。

    这样的场景会通过Server Health中的警告通知给用户;点击时会显示类似于以下的消息。

    我可以用这些信息做什么

    当你看到类似上述的警告消息时

    • 查找作为GoCD服务器子进程运行的进程

      在Windows上,你可以使用工具比如进程资源管理器。在Linux上,你可以运行‘ps waux | grep ‘material-type’’

    • 确定哪个进程挂起了。额外的信息如URL:https://test@bitbucket.org/test/git_repo.git在警告信息中应该能帮助你找到它。

    • 在Linux系统上,你应该能看到这样的行:

      go 31201 1  0 Feb07 ?  00:00:00 git clone https://test@bitbucket.org/test/git_repo.git /var/lib/cruise-server/pipelines/flyweight/b9ec0885-eb32-458c-bd6b-eeefe3ef9816
      
    • 终止该进程及其所有子进程(整个进程树)。

    • 确保Server Health中的警告消息消失。

      请注意操作系统进程列表中文件夹名称(形式为…/flyweight/b9ec0885-eb32-458c-bd6b-eeefe3ef9816)。此文件夹被轮询命令使用。在GoCD安装目录中定位该文件夹并删除它(如果存在)。这确保了终止进程树后没有留下任何不一致的信息。

    配置警告时间

    GoCD服务器会在15分钟内(无输出)等待后向用户发出可能材料更新挂起的警告。用户可以通过系统属性修改此等待时间(以分钟为单位)。material.update.inactive.timeout可以在文件中设置此系统属性wrapper-properties.conf以添加上述系统属性。有关文件位置,请参阅安装文档。wrapper-properties.conf参考资料:

    无噪 Logo
    无噪文档
    25 年 6 月翻译
    版本号 25.2.0
    文档源↗