9 ms·
How to deploy an app to production with an actual button
- jimnotgym 8y agoI like the idea, but I would prefer to see it accomplished with a Raspberry Pi and a Big Red Button. At least this is one part of your life that shouldn't need AWS
- suyash 8y agoMe too, Easy Peasy with a PI and button can be made as scary as you want :) Check this out: https://www.youtube.com/watch?v=VjgK-g3neTc https://www.youtube.com/watch?v=VjgK-g3neTc
- amelius 8y agoOr how about a switch that implements the two-man rule? https://en.m.wikipedia.org/wiki/Two-man_rule https://en.m.wikipedia.org/wiki/Two-man_rule Good for not having to spend the weekend at work alone.
- kdelok 8y agoWe have exactly this for deploying one of our side projects at work. :D I believe it also flashes logs at you in (red) Morse code. It's not the most effective way to monitor a release.
- JazzXP 8y agoI always get amazed that people want to "push the button" to deploy. So many times BA's and AE's wanted to hit the Release button on our iOS App.
- Something1234 8y agoWhat are BA's and Ae's?
- zachrose 8y agoGuessing business analyst and account executive More to the point did they want to be the ones to push it? :-P
- JazzXP 8y agoYep, that’s correct. They did, they’d come sit at my desk and push the button. I always thought it was weird.
- Something1234 8y agoThat's because they want to matter.
- zachrose 8y agoStolen valor
- bsmith 8y agoHate to say it, but my first thought upon reading the headline was, "You mean, like, the return key on my keyboard??" But that's no fun at all – I actually love the spirit of this post.
- jijojv 8y agoSame here - it's very cute when someone does this on their own for fun but don't know what to make of it when Github (owned by Microsoft) promoting an AWS service and button.
- ReverseCold 8y agoYou can always just get a normal dash button (those are "free" simetimes) and listen to ARP requests to determine when the button is pushed.
- onion2k 8y ago"You mean, like, the return key on my keyboard??" No. The difference is that if you're using your keyboard you're very likely not to bother doing things like implementing defensive checks, reproducible and deterministic steps, good rollbacks that you've actually tested, etc. You're using your computer, so just tweaking a setting or adding in something you forgot is easy. If you're connecting your deploy process to a button then you need to automate everything in the process, which makes the process much more robust. ...and that is the justification I used to get some of these buttons this morning.
- bsmith 8y agoI don't know why using my keyboard is any different. Where are your assumptions coming from? A button is a button. This is why we use CI at my company – it IS all automated. And the last button I press after I type `git push origin master` is...you guessed it...return on my keyboard. That commit never sees the light of day in production unless it makes it through all of our checks.
- gumby 8y agoMore important is the big red mushroom switch you push to abort and roll back a mistaken deployment!
- chrischen 8y agoTrivial to implement if you use git for deployment. git reset --hard HEAD^ Then redo build/post-receive hooks.
- ajnin 8y agoNot that trivial if your deployment involved data migration steps like DB schema changes.
- stephenr 8y agoWe have an unofficial rule that automated db migrations must have a “downgrade/rollback” script too.
- SmellyGeekBoy 8y agoSpoken like someone who has recently learned git but doesn't have extensive experience using it in a production environment. Or perhaps I'm just becoming more cynical with age.
- chrischen 8y agoIs there something wrong with doing it that way? I'm a solo developer so don't have the benefit of learning from corporate best practices.
- therein 8y agoShould work fine for a solo developer however I believe his point was that you shouldn't be re-writing the history. That is, what would be the next command you use? You have just done a hard reset and removed the last commit from the history. Now your remote and your local copy have diverged. You can do `--force` of course to rewrite the history on your remote but that wouldn't be acceptable in a corporate environment because many other people also have their local copies of that repository and they'll all have issues after you force your change in. A more transparent approach would be to do `git revert HEAD` or even better `git revert <hash>` to explicitly have your change be reverted with another commit.
- egfx 8y agoI'm bookmarking this right now!
- sandebert 8y agoYou should have an actual button for that.
- SmellyGeekBoy 8y agoWe're going to need a lot of buttons for all this functionality. Perhaps we could group them all together on some kind of hardware device that we could keep on our desk and use the interact with our computers. Maybe laptops could have them built in?
- therein 8y agoLaptops with buttonboards? Now that's insane. Should we also put a small touch screen right above it?
- mbostleman 8y agoJust make sure your build server's lava lamp is green.
- smnplk 8y agoI don't want to push the button, instead give me a keylock i need to turn. Like the keylock on old PCs.
- bbeonx 8y agoRight, I need two keylocks 7 feet apart that need to be turned simultaneously after a security code has been punched in.
- thatjsguy 8y ago“Turn your key, sir.”
- King-Aaron 8y agoI'd rather a huge, Dr Frankenstein style throw switch that produces sparks and lightning when I pull it.
- beaconstudios 8y agopreferably labelled "magic"/"more magic"
- perl4ever 8y agoOr how about an aviation/racing type switch with a red safety cover? e.g. http://www.pilotautomotive.com/lighting/PL-SW26.html http://www.pilotautomotive.com/lighting/PL-SW26.html
- King-Aaron 8y agoNah, I feel the switch needs to be big enough that two hands are required to pull it
- a_imho 8y agoStraight up implement the release process in TIM.
- 8y ago
- sbhn 8y agoGitlab CI/CD and docker compose. https://youtu.be/RV0845KmsNI https://youtu.be/RV0845KmsNI
- stevage 8y agoPerfect combination of a really useful mechanism to trigger an action when you're far from a computer, with an action that you never ever need to trigger when you're far from a computer.
- onion-soup 8y agoOne of those things which sound so exciting. You make it, you play with it, tell to your coworkers about it then you forget about it after a week
- duiker101 8y agoBut you probably learnt something in the process and had fun while doing so! Win-win imho
- chukye 8y agoThat's one of the best marketing strategy, I really want to buy that button right now :X
- kapauldo 8y agoThis is awesome. The button is zero config? Built in cell modem?