stages: - build - deploy build: stage: build image: node:latest script: - npm install - npm run build artifacts: paths: - dist/ deploy: stage: deploy image: node:latest only: - main before_script: - apt-get update -qq && apt-get install -y rsync sshpass script: - cd dist - | sshpass -p "$PASSWORD" rsync -avz --delete -O \ --exclude 'accounts/' \ --exclude 'cache/' \ --exclude 'sessions/' \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ site/ $USERNAME@$HOST:$PROD_PATH/site/ sshpass -p "$PASSWORD" rsync -avz --delete \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ kirby/ $USERNAME@$HOST:$PROD_PATH/kirby/ sshpass -p "$PASSWORD" rsync -avz --delete \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ vendor/ $USERNAME@$HOST:$PROD_PATH/vendor/ sshpass -p "$PASSWORD" rsync -avz --delete \ --exclude 'tiles/' \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ assets/ $USERNAME@$HOST:$PROD_PATH/assets/ dependencies: - build