EgyProgramozo

PHP/NodeJS programozó, Linux Desktop/Server fan

Gitlab pipeline deploy

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:<!--more-->

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" &gt; ~/.ssh/id_rsa
     - chmod 600 ~/.ssh/id_rsa
     - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" &gt; ~/.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 variablesként kell megadnunk.

2018.02.09.

cicd continuous deployment deploy gitlab pipeline runner ssh

Szólj hozzá