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:
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.
Olvass mást is