Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/administration/job_artifacts.md')
-rw-r--r--doc/administration/job_artifacts.md15
1 files changed, 14 insertions, 1 deletions
diff --git a/doc/administration/job_artifacts.md b/doc/administration/job_artifacts.md
index a4ab0e07020..14749a9c7f6 100644
--- a/doc/administration/job_artifacts.md
+++ b/doc/administration/job_artifacts.md
@@ -437,6 +437,16 @@ If you need to manually remove job artifacts associated with multiple jobs while
```ruby
builds_to_clear = builds_with_artifacts.where("finished_at < ?", 1.week.ago)
builds_to_clear.find_each do |build|
+ Ci::JobArtifacts::DeleteService.new(build).execute
+ build.update!(artifacts_expire_at: Time.now)
+ end
+ ```
+
+ In [GitLab 15.3 and earlier](https://gitlab.com/gitlab-org/gitlab/-/issues/372537), use the following instead:
+
+ ```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
@@ -489,7 +499,7 @@ If you need to manually remove **all** job artifacts associated with multiple jo
print "Ci::Build ID #{build.id}... "
if build.erasable?
- build.erase(erased_by: admin_user)
+ Ci::BuildEraseService.new(build, admin_user).execute
puts "Erased"
else
puts "Skipped (Nothing to erase or not erasable)"
@@ -497,6 +507,9 @@ If you need to manually remove **all** job artifacts associated with multiple jo
end
```
+ In [GitLab 15.3 and earlier](https://gitlab.com/gitlab-org/gitlab/-/issues/369132), replace
+ `Ci::BuildEraseService.new(build, admin_user).execute` with `build.erase(erased_by: admin_user)`.
+
`1.week.ago` is a Rails `ActiveSupport::Duration` method which calculates a new
date or time in the past. Other valid examples are: