There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…
Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
31–40 of 41 posts
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#32There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#33Seems like a pretty neat service. To save others some time, they don't have a free tier, you can't host it yourself, and they use Docker for builds before deployments: http://support.deploybot.com/article/1028-plans-and-pricing
DeployBot certainly does have a free use plan, afaik
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#34There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…
I like my deployment across environments to use the exact same binaries that have been validated. Is it just me that is afraid of introducing issues by not doing that ?
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#35Different stacks have different requirements. I built my own deployment service for my open source project/stack specifically so that it would handle scalability too. See https://baasil.io/ I know Laravel followed this approach too with https://forge.laravel.com
I think using more sepcialized deployment stacks (as opposed to generic ones) is the best approach for non-trivial apps.
Though I guess if you use a microservices approach, you could have a different deployer for different kinds of services.
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#36Earlier quoted context omitted.
The biggest issue I have with this model -- and git-flow as an opinion about how deploy works in general -- is that it doesn't take any account of rollbacks, and it doesn't scale well to arbitrary numbers of deployments. The history of my production deploys is not monotonically forward: if something breaks, it rolls back. Nor does production roll forward as one piece: different components of the stack roll in separat…
I'd say rollback is possible under a 'git driven' workflow. That said, sincerely I find rollback one of those inherently complex ideas: - Rolling back assumes going back to the previous commit will fix everything, an unproven (unprovable?) hypothesis in the face of database migrations, job queues, etc. - Making database migrations reversible can be nearly impossible (particularly at scale), aside from a significant e…
Some of this also depends on context. If I'm shipping a single primary deployment of a massive fairly monolithic SaaS product, I can do this time-marches-on stuff. If I'm actually shipping shrinkwrapware -- and as a sibling comment says, doing rolling blue-green deploys also looks like this, if briefly -- switching something back to a previous code version is very worth minding.
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#37There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…
An issue I have with these git driven deployment process (not your specifically which looks well thought-out) is that your are starting from source each time. I like my deployment across environments to use the exact same binaries that have been validated. Is it just me that is afraid of introducing issues by not doing that ?
Or to answer your direct question: "no", it's definitely not just you who's afraid of that :)
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#38Earlier quoted context omitted.
I'd say rollback is possible under a 'git driven' workflow. That said, sincerely I find rollback one of those inherently complex ideas: - Rolling back assumes going back to the previous commit will fix everything, an unproven (unprovable?) hypothesis in the face of database migrations, job queues, etc. - Making database migrations reversible can be nearly impossible (particularly at scale), aside from a significant e…
Code rollbacks are about immediate mitigation, not about pie in the sky snapshot rollback. If you are sane about deployment and don't go to 100% of traffic instantly, then halting a broken deploy and rolling back is certainly better than shifting into analysis mode. > I'd rather stay broken a little longer for avoiding further complications! Unfortunately analysis is slow and an unbounded process, and high leverage b…
OTOH, if you really essay a given deployment again and again, you can become really confident that the operation will succeed in production.
Real example: the most important feature I've developed this year has been put 5+ times in staging across a couple months. Every time I've asserted all kind of stuff, gathered feedback from the business owner, etc.
The deployment going bad in production is just not a possibility.
At a larger scale than mine, I would probably introduce 'dark launching' as well. That would further reduce the possibility of needing rollback.
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#39Earlier quoted context omitted.
DeployBot certainly does have a free use plan, afaik
If it does, it's not obvious.
Free Plan includes 1 repository, unlimited servers, unlimited deployments, and unlimited users.
Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.
#40Earlier quoted context omitted.
If it does, it's not obvious.
Granted, I might have been grandfathered on the Free Plan: http://imgur.com/a/GZU14 Free Plan includes 1 repository, unlimited servers, unlimited deployments, and unlimited users.