Skip to content

WIP: Interactive Deploy

James Lopez requested to merge feature/interactive-deploy into master

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?

  1. 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.
  2. Use https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9298
  3. Refactor stuff
  4. 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)

gid

Example:

 GID_DRY_RUN=1 rake "deploy[8.17.0-rc2]"

Merge request reports