通过 git 自动将资产部署到 Rackspace CDN 并更新对这些资产的引用?
我正在寻求一些帮助来设计一种策略,以将 Web 应用程序的资产(图像、CSS、JS)自动部署到 Rackspace 的云文件 (CDN) 服务。
我目前使用 git Push 将 Web 应用程序部署到远程服务器。所以这是我认为这可能发生的一种方式。有没有更好/更清洁的方法?
- 开发人员对资产文件(css、js 或图像)进行更改
- 开发人员提交其更改 开发
- 人员将其更改推送到服务器
- 资产会自动重命名以消除缓存问题(附加 git 版本?)并发送到 CDN
- 引用代码将是自动更新为新文件名
仅供参考,如果重要的话,这是 CodeIgniter 2.x 中的 PHP 应用程序。
很高兴听到任何想法,无论是否有替代方案。
I'm looking for some help in designing a strategy to automate deployment of a web application's assets (images, css, js) to Rackspace's Cloud Files (CDN) service.
I currently use git push to deploy the web app to a remote server. So here's one way I'm thinking this could happen. Are there any better/cleaner methods?
- Dev makes changes to an asset file (css, js, or an image)
- Dev commits his changes
- Dev pushes his changes to the server
- Assets are automatically renamed to eliminate cache issues (append git version?) and sent to the CDN
- Referencing code would be automatically updated to new filename
FYI, this is a PHP app in CodeIgniter 2.x if it matters.
Happy to hear any ideas, alternative or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我还没有找到任何可以自动执行此操作的东西。
您可以使用 Rack Space 云文件 API ( http://www.rackspace.com/ cloud/cloud_hosting_products/files/api/ )将文件上传到 Rackspace 的 CDN 感知容器。
I've not found anything to automatically do it.
You can use the Rack Space Cloud File API ( http://www.rackspace.com/cloud/cloud_hosting_products/files/api/ ) to upload files to Rackspace's CDN aware containers.
我什么都不知道,但您可能可以编写一些脚本来完成此操作,而无需太多工作。
查看 Fog 或官方 ruby-cloudfiles 来自 Rackspace 的 gem。
I'm not aware of anything, but you could probably script something to do this without too much work.
Check out Fog or the official ruby-cloudfiles gem from Rackspace.
这可能就是您正在寻找的内容:
https://github.com/phillc/cloud -文件资产同步
This might be what you're looking for:
https://github.com/phillc/cloud-files-asset-sync
这个 github 存储库至少可以完成您所要求的部分内容。
https://github.com/bermi/cloudfiles-mirror
This github repository will do at least part of what you are asking.
https://github.com/bermi/cloudfiles-mirror
由于您使用的是 PHP,因此您应该认真考虑使用 Rackspace PHP SDK 。您可以找到使用 CDN 服务的示例代码。与直接写入云文件 API 相比,它使用起来要容易得多。
Since you're using PHP you should seriously consider using the Rackspace PHP SDK. You can find sample code for working with the CDN service. It'll be a lot easier to work with than writing directly to the Cloud Files API.
有一项付费服务 http://beanstalkapp.com/features/deployments 用于自动部署到云文件或其他服务器。
There's a paid service http://beanstalkapp.com/features/deployments for auto deployments to cloud files or other servers.
尝试一下它完全自动化:https://github.com/rumblelabs/asset_sync
try this its completely automated: https://github.com/rumblelabs/asset_sync