stages: - build - deploy build site: image: node:lts stage: build script: - cd app - npm install --progress=false - npm run build artifacts: paths: - app/dist deploy site: image: instrumentisto/rsync-ssh stage: deploy script: - mkdir ~/.ssh - echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - rsync -vr -e "ssh -p ${SSH_PORT}" app/dist/ "${DEPLOY_DEST}"