What are people doing for deploying static assets for apps running on Ions? S3/CloudFront is a given, but I’m thinking more about the deployment process.
A good solution would make it easy to keep assets and the deployed version in sync, taking into account failures and rollbacks. There’s also small details like asset URLs working in dev/staging/prod.
I’ve searched to no avail. Is everyone just rolling their own?
Since no one responded, I’ll update the post with what I’ve learned in the mean time. It turns out, static assets don’t need to be handled separately at all. They are included in the deployed bundle, and, are available as resources on the classpath. In my case I’m running a normal ring app via ions, and there’s one gotcha. See:
I’m now looking into using optimus [1] for a more production-grade way to serve the assets.
The final issue which I mentioned in the original post is rollbacks for failed deploys. Given static assets are deployed along with the server code, there should be no issue about keeping things in sync, but I have another problem in that rollbacks are not happening at all. I posted separately about that but again no replies (so far).