有没有办法跟踪Jenkins中全局共享库的使用情况?
上下文:有没有办法跟踪Jenkins中全局共享库的使用情况?,jenkins,usage-statistics,jenkins-shared-libraries,Jenkins,Usage Statistics,Jenkins Shared Libraries,上下文: 在我的工作中,大多数开发人员都可以自由地为自己团队的项目编写自己的Jenkins文件 作为Jenkins管理员,我为开发人员提供了一个全局共享库 大多数项目使用v1、v2或v3或该库的其他版本,使用惯用语library(“theSharedLib@v#) 问题:有没有一种方法可以让我知道哪个Jenkinsfile正在使用哪个版本的共享库,而不必实际查找所有这些Jenkinsfile文件(git repo中有50多个文件) 我最喜欢的是一些机制,可以在加载库时将哪个project/J
- 在我的工作中,大多数开发人员都可以自由地为自己团队的项目编写自己的Jenkins文件
- 作为Jenkins管理员,我为开发人员提供了一个全局共享库
- 大多数项目使用v1、v2或v3或该库的其他版本,使用惯用语
library(“theSharedLib@v#)
Loading library sharedLib@version
所以一个简单的正则表达式
"^Loading library\S+(?P<library_name>.*?)@(?P<library_version>.*?)\S+$"
“^Loading library\S+(?P.*)@(?P.*)\S+$”
添加到console_log_events插件将在弹性搜索中为每个用法和每个版本生成事件。旁注:了解这些知识有助于了解谁会受到库中中断更改的影响,并提前通知他们。我需要知道谁是我的库用户。如果您只使用一个master,或者使用非常少的代理,那么在jenkins workspace目录上运行grep只需要一分钟:
find/home/jenkins/workspace-name“Jenkinsfile”-exec grep-H“theSharedLib”{}\代码>但是,如果您有数百个代理,那么这可能不实用。正如您所提到的,对于小型设置来说,这听起来是个好主意。但是,我确实有大约70个代理,它们混合在Windows和Linux之间(多个版本)。好吧,我可以把Nagios放在这上面。谢谢你的主意!也许你可以将共享库所在的git repo的日志进行grep。我在这个问题上加了一个星号,以防有人提出一个基于詹金斯的解决方案。