如何收集gitlab管道中所有作业的日志?

时间:2020-01-08 17:52:28

标签: logging gitlab gitlab-ci

我有一些gitlab CI pipelines,其中包含数十个工作-有时我需要找到可能出现在工作中的某物,而又不知道哪一个。我可以在Web界面中手动选择每个作业并查看相关日志,但是对每个作业都无法做到。

是否有某种方式(理想情况下是无特权的gitlab用户)从给定管道的所有作业中检索/汇总输出?

如果有问题,我正在使用12.5.X-ee版本。

1 个答案:

答案 0 :(得分:0)

您可以使用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

相关问题