Ha Gitlabot használunk és szeretnénk a PHP projektünket commit után közvetlen deployolni a sandbox szerverünkre, a következőkre lesz szükségünk:

Először is hozzuk létre a következő tartalommal a .gitlab-ci.yml fájlt a forráskódunk gyökerébe:

before_script:
  - '[[ ! -e /.dockerenv ]] && exit 0'

stages:
  - deploy

deploy_sandbox:
   stage: deploy
   before_script:
     - mkdir -p ~/.ssh
     - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
     - chmod 600 ~/.ssh/id_rsa
     - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
   script:
     - ssh $SANDBOX_USER@$SANDBOX_SERVER "cd $SANDBOX_PATH && git pull origin $SANDBOX_BRANCH"
   environment:
     name: sandbox
     url: $SANDBOX_PUBLIC_URL
   only:
     - $SANDBOX_BRANCH

A gitlabban regisztrálnunk kell egy olyan runnert, ami dockert használ és le tudja futtatni a fenti parancsokat. Ehhez egy jó image lehet ez, ami tartalmazza az ssh klienst. A szükséges $ változókat pedig _secret variables_ként kell megadnunk.