Deployment helpers
- Laravel Envoy
- git
- rsync
Go to Gitlab > Project > Settings > Variables, and create a variable SSH_PRIVATE_KEY:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
image: robjuz/envoy
stages:
- deploy
deploy_to_production:
stage: deploy
only:
- master
script:
- eval $(ssh-agent)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- envoy run production
image: robjuz/envoy
stages:
- deploy
deploy_to_production:
stage: deploy
only:
- master
script:
- git config --global user.email "${GITLAB_USER_EMAIL}"
- git config --global user.name "${GITLAB_USER_NAME}"
- eval $(ssh-agent)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- git clone my_repo
- co my_repo
- git push origin master
create project variablesDEPLOY_PATH
in form user@host:/deploy_directory
image: robjuz/envoy
stages:
- deploy
deploy_to_production:
stage: deploy
only:
- master
script:
- eval $(ssh-agent)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- rsync -rav --omit-dir-times --no-o --no-g --no-perms -e ssh ./dist $DEPLOY_PATH