title: Using GIT and GitLab to deploy PHP (Laravel)
body: <p>I'm new to the topic of CI &amp; CD, therefore I have some basic questions.
  But first about my current environment:
  On my server I have Debian running with GitLab and one webpage. I run the update commands manually at my website like </p>
  
  <pre><code>            php artisan down &amp;&amp;
              git checkout . &amp;&amp;
              git checkout master &amp;&amp;
              git pull &amp;&amp;
              composer install &amp;&amp;
              php artisan migrate &amp;&amp;
              php artisan up
  </code></pre>
  
  <p>In future I would like to improve my system landscape to have multiple stages. DEV, QA (demo for future releases) and PROD. On long term perspective at least PROD will get an own server. But I'm not sure about the right setup.</p>
  
  <p>Now my questions;
  When I have a gitlab-ci.yml where does this script run, I believe on the server where gitlabs runs, right? How can I run the command on client side e.g. my external PROD server?
  Sofar I like the concept of webhooks, but I can't have multiple webhooks by different stages, or? Does it make sense to split the different branches and validate within the webhook script on webhost side?</p>