GitLab CE Webhook Server
GitLab CE Webhook Server or GWS is dead simple Node script which can run with minimal effort (and no external dependency) and can monitor events which are provided by GitLab CE Webhooks, and perform tasks (actually bash/batch script) on those events.
Webhook is an HTTP event that's fired when something happens. In order to consume a webhook, you need a server that listens for such webhooks and such a task is usually handled by your "Continuous Integration Server".
If you have a behind-the-firewall server configured to run GitLab CE and do not have any CI (like Travis CI or GitLab CI) configured then chances are that you're going to manage build and deployment after code change manually (which is not recommended). But, you do it anyway for several reasons like; you're evaluating GitLab CE within a small team before you migrate codebases there for full time use, or you do not want your code to be out in the wild, or you are brave enough to handle these tasks yourself.
With GWS, you can forget about CI part of your evaluation and let GWS run your bash script run whenever anything changes in your repo.