Как сделать push-уведомления на сайт самостоятельно?
без сторонних сервисов - не получится.
варианта два:
1. periodical ajax. Но в этом случае пользователь может получить уведомление не сразу, а когда получит, может быть уже не актуально. 
2. WebSocket - моментальное уведомление. Но нужно поднимать свой Websocket демон.
У gitlab есть GitLab CI 
https://about.gitlab.com/gitlab-ci/
https://gitlab.com/gitlab-org/gitlab-ci-multi-runner 
с помощью файла .gitlab-ci.yml