find a way to automatically trigger dashboard pipelines on events
I've explored a bit on how to trigger automatically the rebuild of dashboards on certain events.
We have several possibilities:
- obviously the cron approach is the easiest and fastest to put into place
- for the "is all green dashboard" this can be done in all individual gitlab-ci pipeline bit this is a lot of boilder plate for that
- you can only subscribe a project to like 2-3 other pipelines (the reverse of the previous approach) so this isn't good
- have some kind of stuff that parse everything and triggers the dashboard but this is less optimal than cron
- webhooks notifications seems to be the best solution https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
Webhooks are great because:
- you can trigger exactly on the event that interest you (MR modifications, pipeline modifications etc...)
But webhooks have several limitations:
- they are only available per project on our community edition, the "per group" is for the Entreprise Edition, so we need to subscribe to all projects, since we have hundred of projects that sucks
- but we can use the API to add them to the projects \o/ https://docs.gitlab.com/ee/api/projects.html#hooks
Now the last question to be answered: how do we uses those webhooks to trigger the right pipeline:
- can we directly put the pipeline triggering url directly?
- should we build a small bridge system for that? I've already done that for github for another project and it's pretty easy https://github.com/YunoHost/webhooks
- but if we goes along this way I'll need to place to deploy and handle this stuff if it's me who does it
- except if this neat operations/environement CD feature of gitlab allows me to deploy here? but I'm not familiar with this feature
Anyway this is not the most important feature but that will allow a way better feature QA with instant updates.