上传附件迁移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]"