mirror of
https://github.com/alrayyes/wiki.git
synced 2024-12-01 15:26:23 +00:00
46 lines
961 B
Markdown
46 lines
961 B
Markdown
|
---
|
||
|
id: d178ca6b-0d1a-4b6f-9285-22724e98ba2b
|
||
|
title: Gitlab
|
||
|
---
|
||
|
|
||
|
# Troubleshooting
|
||
|
|
||
|
## Artifacts[^1]
|
||
|
|
||
|
### Delete artifacts older than a specific date
|
||
|
|
||
|
From `gitlab-rails console`:
|
||
|
|
||
|
``` ruby
|
||
|
builds_to_clear = builds_with_artifacts.where("finished_at < ?", 1.week.ago)
|
||
|
builds_to_clear.find_each do |build|
|
||
|
build.artifacts_expire_at = Time.now
|
||
|
build.erase_erasable_artifacts!
|
||
|
end
|
||
|
```
|
||
|
|
||
|
The same can be done to include logs as well:
|
||
|
|
||
|
``` ruby
|
||
|
builds_to_clear = builds_with_artifacts.where("finished_at < ?", 1.week.ago)
|
||
|
builds_to_clear.find_each do |build|
|
||
|
print "Ci::Build ID #{build.id}... "
|
||
|
|
||
|
if build.erasable?
|
||
|
build.erase(erased_by: admin_user)
|
||
|
puts "Erased"
|
||
|
else
|
||
|
puts "Skipped (Nothing to erase or not erasable)"
|
||
|
end
|
||
|
end
|
||
|
```
|
||
|
|
||
|
### Expiration cron job
|
||
|
|
||
|
In `/etc/gitlab/gitlab.rb` enable
|
||
|
`gitlab_rails['expire_build_artifacts_worker_cron'] = "*/7 * * * *"`.
|
||
|
|
||
|
# Footnotes
|
||
|
|
||
|
[^1]: <https://docs.gitlab.com/ee/administration/job_artifacts.html>
|