Gitlab:如何更改旧上传资产的域?

Gitlab: how to change domain on the old uploaded assets?

我已根据此处说明的过程将 gitlab 安装上的域从 ABC 更改为 XYZ:

How to change URL of a working GitLab install?

问题是,旧的上传资产(添加到项目问题中的图像)仍然指向旧的 ABC 域:

https://ABC/uploads/...

站点正在使用 SSL。旧的 ABC SSL 证书不再有效。因此,这些资产会在浏览器中生成 "net::ERR_INSECURE_RESPONSE" 而不会显示。

有没有办法更新这些资产以使用新域名?我试过:

bundle exec rake assets:precompile RAILS_ENV=production

无果。

新域中新上传的图片可以正确显示。

据我所知,旧版本的 Gitlab 在问题描述中存储了附件的绝对路径。因此,即使您重新配置 Gitlab,问题描述中的 URL 仍将指向旧域。

使用新域重新配置 Gitlab 后,您可以:

1:手动编辑帖子

如果您没有很多嵌入文件,您可以编辑每一期并保存。任何编辑都会触发 link 更新。

2:编辑数据库

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql/ gitlabhq_production
update issues set description_html = replace(description_html, 'old.domain', 'new.domain');

3:更新Gitlab然后清除缓存

较新版本的 Gitlab 存储上传文件的相对路径而不是绝对路径

apt-get install gitlab
sudo gitlab-rake cache:clear
sudo gitlab-ctl reconfigure

参考资料

https://gitlab.com/gitlab-org/gitlab-ce/issues/32789

https://gitlab.com/gitlab-org/gitlab-ce/issues/2476

How to change URL of a working GitLab install?