当我在Gitlab CI/CD上运行作业一段时间后,我会得到以下错误信息:
Job's log exceeded limit of 4194304 bytes.
如何更改此限制?
当我在Gitlab CI/CD上运行作业一段时间后,我会得到以下错误信息:
Job's log exceeded limit of 4194304 bytes.
如何更改此限制?
要更改Gitlab CI/CD作业的构建日志大小,您可以编辑config.toml
文件并添加以千字节为单位的新限制:
要更改Gitlab CI / CD作业的构建日志大小,请编辑config.toml
文件,并以千字节为单位添加新的限制:
[[runners]]
output_limit = 10000
根据文档,output_limit是构建日志的最大大小(以千字节为单位)。默认值为4096(4MB)。要使其生效,您需要重新启动gitlab runner。sudo gitlab-runner restart
对于那些没有访问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
下,我设置了打包此日志文件,提供文件路径即可。
完成此作业后,我可以查看作业归档,并查看其中的日志文件,其中包含所有记录器输出。
$PROJECT_KEY
和$SONAR_HOST_URL
。 - undefinedpackage
、install
等)上使用选项--log-file
。sonar:sonar
只是我在这个例子中使用的命令。$PROJECT_KEY
和$SONAR_HOST_URL
是我个人情况下的变量。 - undefinedci_jobs_trace_size_limit
(默认为100MB)。因此,仅按照其他答案中描述的更改运行程序限制已不再足够。
由于gitlab注重速度和易用性,修改ci_jobs_trace_size_limit
只能通过在运行gitlab的系统(或docker容器)的rails控制台中直接执行命令来完成。
root@192:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
GitLab: 14.8.2 (c7be43f6dd3) FOSS
GitLab Shell: 13.23.2
PostgreSQL: 12.7
-----------------------------------------------------------[ booted in 122.49s ]
Loading production environment (Rails 6.1.4.6)
irb(main):001:0> Plan.default.actual_limits.update!(ci_jobs_trace_size_limit: 100000000)
=> true
irb(main):002:0> quit
gitlab-rails console -e production
什么都没做,控制台提示也没有弹出,那么你需要等待一下。
output_limit
的行移到以包含[runners.custom_build_dir]
为起始的子部分之上。也许这是由于解析 TOML 文件或特定于 TOML 语法的某些原因? - Kenny Evittsudo su
切换到 root 用户,以便访问/etc/gitlab-runner
文件夹中的 gitlab runner 设置。 - Reaz Murshed