robjuz/envoy
Deployment helpers
Go to Gitlab > Project > Settings > Variables, and create a variable SSH_PRIVATE_KEY:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
GitLab CI / Laravel Envoy
image: robjuz/envoy
stages:
- deploy
deploy_to_production:
stage: deploy
only:
- master
script:
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | ssh-add -
- envoy run production
GitLab CI / Git
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 -s)
- echo "$SSH_PRIVATE_KEY" | ssh-add -
- git clone my_repo
- co my_repo
- git push origin master
GitLab CI / rsync + ssh
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 -s)
- echo "$SSH_PRIVATE_KEY" | ssh-add -
- rsync -rav --omit-dir-times --no-o --no-g --no-perms -e ssh ./dist $DEPLOY_PATH
docker pull robjuz/envoy