WIP: Interactive Deploy
Disclaimer
I dedicated some spare time over the weekend to this but it's probably a controversial feature and not sure it would ever get merged.
FAQ
What's this?
The aim is to release AND deploy in a single command. To sit and relax and watch the program run, unless there's any error where we'll have to manually fix it. Ideally, it should be able to be self-healing in most of the cases.
What's the status?
Still a WIP. We can get Pick into Stable
MRs (not 100% accurate) for X release for both CE and EE. Then cherry-pick them into a stable branch - all done automatically.
What's missing?
- Add the rest of the tasks (from creating the initial release, to the whole process of releasing any RC, final or patch release), including deployment.
- Use https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9298
- Refactor stuff
- Lots of specs still missing
Why?
As a developer, we should avoid any tedious Excel-like work with developer tools. :automate_all_the_things:
Also, we can easily see the timings for every single step in the release. And we could run this in tmux
so multiple people can watch/use it. There's a general log file where everything gets recorded.
What does it look like? (Dry-run mode in CE)
Example:
GID_DRY_RUN=1 rake "deploy[8.17.0-rc2]"