1. 程式人生 > >gitlab-helm-cloud-native 之上傳附件遷移Rake Task

gitlab-helm-cloud-native 之上傳附件遷移Rake Task

上傳附件遷移Rake Task

遷移到物件儲存

為GitLab的 uploads 配置物件儲存 後 ,您可以使用此任務將現有 uploads 從本地儲存遷移到遠端儲存。

注意: 所有處理都將在後臺工作程式中完成, 不需要停機

All-in-one rake Task

GitLab提供了一個整合之後的rake任務,可以一次性將所有上傳的檔案(頭像,徽標,附件,圖示等)遷移到物件儲存。在引擎蓋下,它會呼叫各個rake任務來逐個遷移屬於這個類別的檔案。這些單獨的rake任務的規範將在下一節中介紹。

Omnibus Installation

gitlab-rake "gitlab:uploads:migrate:all"

單個執行 rake 任務

注意: 如果您已經運行了上面提到的rake任務,則無需執行這些單獨的rake任務。

rake任務使用3個引數來查詢要遷移的 uploads。

引數 型別 描述
uploader_class string 要遷移的上傳器的型別
model_class string 要遷移的模型的型別
mount_point string/symbol 掛載上傳器的模型列的名稱。

注意: 這些引數主要是GitLab的內部引數,您可能需要在下面參考任務列表。

此任務還接受一些環境變數,您可以使用這些變數來覆蓋某些值:

變數 型別 描述
BATCH 整數 指定批次的大小。 預設為200。

Omnibus安裝

# gitlab-rake gitlab:uploads:migrate[uploader_class, model_class, mount_point]

# Avatars
gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Project, :avatar]"
gitlab-rake "gitlab:uploads:migrate[AvatarUploader, Group, :avatar]"
gitlab-rake "gitlab:uploads:migrate[AvatarUploader, User, :avatar]"

# Attachments
gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Note, :attachment]"
gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :logo]"
gitlab-rake "gitlab:uploads:migrate[AttachmentUploader, Appearance, :header_logo]"

# Favicon
gitlab-rake "gitlab:uploads:migrate[FaviconUploader, Appearance, :favicon]"

# Markdown
gitlab-rake "gitlab:uploads:migrate[FileUploader, Project]"
gitlab-rake "gitlab:uploads:migrate[PersonalFileUploader, Snippet]"
gitlab-rake "gitlab:uploads:migrate[NamespaceFileUploader, Snippet]"
gitlab-rake "gitlab:uploads:migrate[FileUploader, MergeRequest]"