【发布时间】:2019-05-01 15:11:48
【问题描述】:
当我在 Gitlab CI/CD 上运行我的作业时,一段时间后我收到以下错误消息:
Job's log exceeded limit of 4194304 bytes.
如何更改此限制?
【问题讨论】:
标签: gitlab gitlab-ci gitlab-ci-runner
当我在 Gitlab CI/CD 上运行我的作业时,一段时间后我收到以下错误消息:
Job's log exceeded limit of 4194304 bytes.
如何更改此限制?
【问题讨论】:
标签: gitlab gitlab-ci gitlab-ci-runner
因此,对于那些无权访问 gitlab-runners 配置文件的人,@Ortomala Lokni 也提供了一个答案。
您可以通过执行以下操作非常轻松地重定向记录器输出并将其归档(注意:这是为 maven 构建完成的)。
quality-check:
extends: .retry-on-job-failure
stage: quality-check
timeout: 2 hours
artifacts:
name: "$CI_BUILD"
paths:
- target/client-quality_check.log
when: always
expire_in: 3 days
only:
- main
- merge_requests
script:
- echo "Sonar Qube Start"
- mvn MAVEN_CLI_OPTS sonar:sonar --log-file target/client-quality_check.log \-Dsonar.projectKey=$PROJECT_ KEY \-Dsonar.host.url=$SONAR_HOST_URL \-Dsonar.login=$SONAR_TOKEN
- echo "Sonar Qube Complete"
请注意,在 maven 命令中,我使用 --log-file 将 maven 输出重定向到 target/client-quality_check.log,然后在 artifacts 下,我已设置通过提供文件路径来归档此日志文件。
此作业完成后,我可以查看作业存档,并可以查看包含所有记录器输出的日志文件。
【讨论】:
要在 Gitlab CI/CD 中更改作业的构建日志大小,您可以编辑 config.toml 文件并添加以千字节为单位的新限制:
[[runners]]
output_limit = 10000
output_limit : 以千字节为单位设置最大构建日志大小,默认设置为 4096 (4MB)
要让它生效,你需要重启 gitlab runner:
sudo gitlab-runner restart
【讨论】:
output_limit 的行移到以包含[runners.custom_build_dir] 的行开头的子部分之上。也许这是由于解析 TOML 文件或特定于 TOML 语法的原因?