我如何收集gitlab管道中所有作业的日志?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何收集gitlab管道中所有作业的日志?相关的知识,希望对你有一定的参考价值。
我有一些包含几十个工作的gitlab CI pipelines-有时我需要找到可能会出现在工作中的something,而不知道是哪个。我可以在Web界面中手动选择每个作业并查看关联的日志,但是对每个作业都无法做到。
是否有某种方法(理想情况下是无特权的gitlab用户)从给定管道的所有作业中检索/汇总输出?
如果有问题,我使用的是12.5.X-ee版本。
答案
您可以使用GitLab Jobs API汇总所有作业跟踪,并编写包含以下内容的脚本:
- 向管道添加最后阶段(
aggregate job logs
) - 列出当前Pipeline ID jobs
- 循环遍历JOB_ID(
aggregate job logs
作业除外,并获得其job logs - 转储到文件中,您可以查看一个文件中的所有日志
注意,您需要创建一个personal-access-token,然后在CI作业中使用它来访问API。除了将访问令牌存储为custom environment variable之外,然后在.gitlab-ci.yml
中访问该变量,这不是一个好方法。
HTH
以上是关于我如何收集gitlab管道中所有作业的日志?的主要内容,如果未能解决你的问题,请参考以下文章