如何使用CDN部署?

时间:2015-01-05 20:15:03

标签: cdn ansible cloudflare

我很惊讶我还没有通过谷歌搜索找到答案。我目前没有任何CDN并通过Ansible运行我的部署。我考虑添加CDN,但由于缓存只是间歇性地失效,我的理解是我的服务器上的部署不会在很长时间内更改我的cdn所服务的静态文件。当然,当我进行部署时,我希望尽可能快地完成所有工作,所以如果出现任何问题(或正确),我立刻就会知道。

所有这些都说,我如何实际部署到CDN,告诉它我现在正在提供一些新的静态文件,它应该刷新这些?是否有一个Ansible模块可以做这样的事情,或者某个CDN提供商的API?我真的很想避免在每次部署时手动执行此操作,因为this似乎暗示了Cloudflare。

另外,我目前正在使用CloudFlare来处理其他内容,所以坚持使用它们会很酷,但如果它对我的用例更好,我愿意切换到别的东西。

顺便说一下,这似乎是一个带有CDN的标准用例,但我找不到很多关于人们如何定期部署到CDN的文档或博客文章。我错过了什么吗?

1 个答案:

答案 0 :(得分:4)

是的,你可以进行清除/无效,但那并不是最好的。真的,你想使用一个工具来编译*你的CSS / SASS /无论什么,图像到sprite,并编译你的JS。最后,该工具应该了解静态托管,这意味着它为每个发布使用唯一的URL。这样你就不必清除,这对于CDN来说是很昂贵的。

幸运的是,有一些工具可以解决这个问题。我了解Ruby's asset-pipelineGrails's asset-pipelinePython's webassets

根据您构建代码和烘焙堆栈的方式,您可以使用Ansible上传/部署静态资产,但大多数都可以在本地或s3部署。

*我正在使用"编译",尽管它确实"缩小/ munge / compress"或"预处理"或者其他什么。