Would you recommend this product?
1 Review5.0/5
It's going to take a lot to unseat CircleCI as our CI tool. I'd rather Heroku focus on giving me the ability to easily be multi-dc/multi-az or other things that will make my application more stable. While I appreciate that Heroku wants to be your one stop shop for all things for your application, i'd rather them focus on being the absolute best PaaS.
I've got a different take. I feel like the most annoying thing about CircleCI, and where I tend to waste the most of my time, is in getting it to match my existing Heroku staging/production configuration exactly. CircleCI's UX for managing services like Postgres and Redis is really, really bad. The default running version is a moving target as they update their image with breaking changes, so your tests can start failing because of their changes. And getting a specific version that's not the default to work involves lots of trial and error, because often you have to know how the existing CircleCI default are setup, which is non-obvious, and not well documented. There's no real reason it shouldn't be as simple as just specifying `postgres: "9.6.x"` in a configuration file and having it all "just work". If Heroku can make it dead simple to match my existing staging/production settings for test environments, I'd switch in a heartbeat. It seems like a very easy place for them to reduce configuration woes, and with a very clear pricing model. There's not really that much that CircleCI has in terms of lock-in for me.
Excited to try this out! Most interesting part to me is the pricing. AFAIK - all other CI providers have a monthly flat rate. Heroku is billing by dyno usage (tests run on a dyno, only pay for the time you used). Will depend on the test suite, but I'm guessing that for many people this will be a huge cost savings. Makes a lot of sense - and gives Heroku a huge advantage also owning the deployment pipeline. They can make running tests/deploying easier since they own the entire flow. Am wondering if it's possible to use Heroku CI and also deploy to somewhere outside of Heroku (in scenario where most of your services run on Heroku, but maybe a couple don't).
This is running tests on Heroku itself. Ohhhh. This is interesting. If you are deploying to Heroku, this would make your integration tests way more realistic than somewhere else. I think Dashman's server side, my startup, will be hosted in Heroku, so, this is very relevant to me. I'll definitely look into it. Thanks for posting!
Update: Heroku CI is now generally available. https://blog.heroku.com/heroku-c...