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?
我已根据此处说明的过程将 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?