0

我有一个非常简单的 django 应用程序设置,它被打包在 jenkins 中,它使用 django-compressor 运行离线压缩,运行集成测试,然后部署到 QA 服务器。后来我会有一份工作,它使用相同的包部署在我们的产品服务器上。

这一切都很好,只要资源路径在所有三个阶段都相同 - 但我现在想为静态资源添加一个 CDN,它只是代理 prod 服务器上的请求,这意味着我需要另一个 URL 前缀(MEDIA_URL)用于生产。目前,当我只是更改我的包装以将 MEDIA_URL 指向 CDN 时,我的集成测试失败并且 QA 服务器已损坏,因为 CDN 代理了生产服务器。所以我想继续使用相对的非前缀路径进行集成并自定义带有远程 URL 的压缩媒体文件的 URL 前缀。

有什么理智的方法可以做到这一点吗?对于我的集成测试,我可以想象我只是创建一个 /etc/hosts 条目以将 CDN 主机名指向测试服务器,但这似乎是一个丑陋的解决方法。

4

1 回答 1

0

您可能应该为每个环境设置一个单独的 CDN 实例。我使用 Amazon S3 执行此操作,为每个环境创建新存储桶很容易。

于 2014-09-19T08:33:26.413 回答