
Heroku CI Is Now Generally Available - petercooper
https://blog.heroku.com/heroku-ci-now-available
======
hellcow
I would love to use Heroku -- its tooling is better than anything else I've
used, and integrated CI makes it that much better.

However, I run a machine learning service which requires ~3GB of RAM, which
means I have to pay--at minimum--$500/mo on Heroku to get a single
"Performance L" dyno. Google charges me somewhere in the neighborhood of
$35/mo. I'm OK paying a little more for Heroku's convenience, but not 15x.

To any Heroku PMs here, are there plans to allow for custom-sized dynos or
additional tiers?

~~~
oridecon
I wish they had some "race to the bottom" price option for small side
projects, with free custom domain and letsencrypt support. Something to
compete with the $5 VPSs (soon to be the $3 VPSs).

Right now I rent a large server to host multiple things because I don't like
the limitations of their free tier. There's something very elegant about
having all your "apps" isolated and with their own settings but the price must
be just right. I really enjoyed using Heroku (for a client) because
maintaining my own servers, even for hobby stuff, feels like such a waste of
time.

~~~
merb
yeah I would love to use Heroku Free/5USD/5€ with a 500k Rows PostgreSQL
database and a simple app that is only for 24/7\. than it would be a no
brainer to use heroku and letsencrypt.

------
snoman
If only it weren't GitHub only. I've got a couple projects in Bitbucket that
I'd like to use this with.

~~~
jtraffic
I'm curious, why not migrate?

edit: Sorry, I'm stupid.

~~~
tehno
For one, not everyone uses git and GitHub for everything. Some prefer
Mercurial and Bitbucket.

~~~
benatkin
Bitbucket doesn't prefer Mercurial. Bitbucket Server only supports git.

------
obiefernandez
We've been using Heroku CI on Kickass projects and we like it. Reliable, cheap
and fairly easy to setup. However, still seems to be missing some basic
functionality like notifications when the build breaks and stuff like that.
Looking forward to continued evolution of the product and not having to rely
on third party providers.

~~~
friendofkoalas
For what it's worth, looks like webhooks are going into private beta soon:
[https://www.heroku.com/form/webhooks-
beta](https://www.heroku.com/form/webhooks-beta)

------
daxelrod
CI is powered by testpacks: [https://devcenter.heroku.com/articles/testpack-
api](https://devcenter.heroku.com/articles/testpack-api) . A test command has
always been a missing part of Heroku's buildpacks.

I love that testpacks are expected to output TAP, a protocol that more of the
testing world should support.
[http://testanything.org/](http://testanything.org/)

------
lghh
We've been using this while it's in beta for a we app we are working on and
it's been a blast. I had not had a ton of experience with CI/CD before this,
but I can't imagine it being much easier. It's really helped our dev process
and fits in with the workflow we were trying to accomplish.

~~~
moby
That's excellent to hear. Thanks for the kudos!

------
wasd
Congratulations to the team that shipped this! CI / CD is something I welcome
to comoditize and turn into an integrated feature. If any Heroku team members
are out there, please consider reducing the minimum price for encryption at
rest for your Postgres database so I can use you for my startup.

~~~
exherokugirl
All Postgres plans from Stanard-0 upwards are encrypted at rest. They only
market it for Premiums but Standards are encrypted.

~~~
wasd
Wow, that's awesome! Thanks for the heads up.

------
xutopia
I've been using CircleCI and my biggest frustration is the inability to switch
to faster machines.

~~~
pbiggar
Circle 2.0 (in beta) has the ability to use faster machines (and is also just
faster).

------
dmak
I'm not really sure why this is preferrable over CircleCI? Could someone
explain? Especially since CirleCI is free for the first container. This costs
$10, and I don't understand the additional benefits of $10 here.

~~~
ianstormtaylor
If you use Heroku for production, using it for CI too means that a lot of the
annoying configuration pieces involved in getting CI to match production
exactly disappear.

In my opinion CircleCI's configuration UX is actually really poor—compared to
what it could be, and what Heroku provides.

In CircleCI, you're configuring against a moving target installation of
binaries, and whenever CircleCI decides to upgrade Postgres or Redis or
whatever, your tests start failing and you don't know why. Then you have to
try to figure out how they've configured the services, and what it will take
to use Postgres 9.5.3 instead of 9.6.1—big hassle.

Then there's the little UX things—in CircleCI you can't read the config vars
you've set previously from the interface, which means you have to go through
the super tedious process running a new build, SSH'ing into it, and then
reading them from there, just to remember what user your Postgres connection
URI uses.

On top of that CircleCI's documentation is much worse than Heroku's, so re-
learning how to do all the random configuration things you need to do each
time is more difficult than it could be.

I think anything that reduces time spent messing with CI servers is a big
plus, because that work is usually the most frustrating work there is. $10/mo
is _nothing_ compared to wasting a day dealing with CI configuration every
once in a while.

~~~
felicianotech
"the annoying configuration pieces involved in getting CI to match production"

This could be resolved with proper tooling. Depending on what you're doing,
Docker, Terraform, Make, build scripts, etc can be used to make every
environment as identical as possible.

"n CircleCI, you're configuring against a moving target installation of
binaries, and whenever CircleCI decides to upgrade Postgres or Redis or
whatever, your tests start failing and you don't know why."

This is a very fair concern and has been voiced in the past. CircleCI 2.0 does
not have that issue anymore, as the other commenter pointed out.

"in CircleCI you can't read the config vars you've set previously from the
interface"

This is common in webapps and is for security reasons. If the variable value
isn't secret, such as the local DB URI, you can set it in `circle.yml` or
`.circleci/config.yml` instead. Fully visible and now versioned.

"On top of that CircleCI's documentation is much worse than Heroku's"

This I take very personally as docs are important to me and I work on them
constantly. Our docs are open-sourced on GitHub
([https://github.com/circleci/circleci-
docs](https://github.com/circleci/circleci-docs)) if you'd like to help make
them better. If you prefer a conversation, you can always reach out to me on
CircleCI Discuss
([https://discuss.circleci.com/](https://discuss.circleci.com/)) or DM me on
Twitter (@FelicianoTech). I would LOVE to improve docs.

Your ultimate point of spending less time with CI servers is 100% the goal for
SaaS CI. If Heroku, CircleCI, Travis CI, or any others cause you to spend more
time in the tool, then they're failing.

 _disclaimer: Developer Evangelist, CircleCI_

------
ryanisnan
Is there any particular reason that the CI system defaults to using
Performance-M dyno type ($250/mo)? I know that it's prorated to the second,
but it seems like overkill.

~~~
sudhirj
Because unlike small scale we traffic, test runs and hard and heavy, and
there's benefit in getting results out asap. I find it very useful - would
never pay for big dynos for my app at this scale, but $0.05 per month for
super fast test results is pretty cool.

~~~
dbbk
Not really $0.05 per month. There is a $10 flat charge on top for every
pipeline you have.

------
trustfundbaby
> Your tests run immediately, every time on dedicated Performance dynos.

Huge.

------
mateuszf
Anyone knows if it works with GitHub Enterprise?

~~~
joshwlewis
I'm sorry to say that no, Heroku CI does not support GitHub Enterprise.

~~~
mateuszf
Is this maybe planned?

------
znpy
I still can't understand why no one has create a "cheap" heroku.

Imho, given their pricing, there is a lot of room for competitors.

~~~
15155
> I still can't understand why no one has create a "cheap" heroku.

AWS has tried several times, they'll eventually win this one though.

~~~
fosk
> AWS has tried several times

They have tried once, and it's called AWS Elastic Beanstalk.

~~~
simplehuman
Not sure. Beanstalk is a very clumsy product and lacks the Elegance of heroku.

~~~
thenrich99
Elastic Beanstalk's Multi-container environment can be a nice way to ease a
project into containerization, but it seems like it doesn't get much love from
AWS these days. You're still forced to set hard memory limits on containers
even though ECS support soft limits.

------
mderazon
Still no HTTP/2 support?

