fabric8io / fabric8

fabric8 is an open source microservices platform based on Docker, Kubernetes and Jenkins
http://fabric8.io/
1.76k stars 504 forks source link

support Taiga (or any other issue tracker) as a human approval step in a Jenkins CD pipeline #4087

Open jstrachan opened 9 years ago

jstrachan commented 9 years ago

so that a build step raises an issue with a link to the build / version / staging environment etc in the issue text.

Then if the issue is closed ; marked as fixed; then the next step in the pipeline is triggered.

Folks can then use a project in Taiga for a team of reviewers etc.

The other option is to try use gerrit code reviews to approve a git commit change which represents which version number(s) of apps should be deployed to an environment. Then a build on a git commit would trigger the deployment?

christian-posta commented 9 years ago

Taiga has webhooks: http://taigaio.github.io/taiga-doc/dist/webhooks.html Not sure how it should kick jenkins though... maybe a very simple jenkins plugin that exposes an endpoint for a taiga web hook? or fabric8 hosts the endpoint and can interact w/ jenkins? https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

not sure yet :)

jstrachan commented 9 years ago

ah cool thanks :)

I've raised a separate issue for gerrit approvals: https://github.com/fabric8io/fabric8/issues/4088 which sounds like the simplest thing to implement really ;)

rawlingsj commented 9 years ago

Yeah we already have taiga working with the lets chat and gogs webhooks, so tasks and issues are automatically moved, closed etc using commit messages. It works really nicely.

I agree on having a webhook configured with fabric8 and I was thinking hubot would be great for this. We could then integrate custom usecases for Jenkins, Jira, Gerrit, anything that has an api.

rawlingsj commented 9 years ago

Also by doing this we can tie in chat into approvals. Hubot could notify a room / individual requesting approval for a deployment etc.