This is an easy thing to do for private repos (we are NOT using variables so only use on Private), using GitLab you get 2K minutes of run time per organization, thats around 2K deploys as most take around 1 minute. To start create a new file in the base of your repo with the name
Here is a simple script to upload your site contents, just replace
n12.nodehost.ca with the hostname of the node your site is on. Also you will need to set some info in place of
YOURMAINDOMAIN. This script will deploy on every push, if you want it to be manual only you can add the flag
when: manual under the
stage: deploy flag.
stable: stage: deploy script: - apt-get update -qq - apt-get install -y -qq lftp - lftp -c "set sftp:connect-program 'ssh -a -x -o PubkeyAuthentication=false'; set sftp:auto-confirm yes; set ssl:verify-certificate no; open sftp://USERNAME:PASSWORD@n12.nodehost.ca:22; mirror -Rev ./ ./web/YOURMAINDOMIAN/public_html --only-newer --parallel=10 --exclude-glob .git* --exclude .git/"
If you want to use variables you can using this link to read more: https://docs.gitlab.com/ee/ci/variables/