Parameterized CI Builds supplied via Chat-Ops Integration
Description
Users coming to Gitlab-CI who have a history with Jenkins (formerly Hudson) will want Jenkins style parameterized builds.
Something similar is proposed that would work via git commit message syntax in gitlab-org/gitlab-ci-multi-runner#1659 , but I think Chat bots are the preferable way to go.
Proposal
-
variables are ALREADY defined inside .gitlab-ci.yml
-
Allow user to specify that a variable can be passed in from a chatops bot.
-
User runs a chatops command that kicks off a manual
deploy
task, inside a channel dedicated to running the chatops bot actions for a single gitlab project:
/deploy destination=machine.domain.net rev=gitrevisionhash enableoptionx=0 enableoptiony=3
-
After user types the command, if it is understood and parameters are accepted, type that, I get a link to the actual job that got started on gitlab-ci, with the variables set (DESTINATION, ENABLEOPTIONX, ENABLEOPTIONY).
-
The
rev=
parameter is handled by gitlab itself, and specifies the git revision hash that is used for the manual task. -
The
branch=
parameter is also handled by gitlab itself.