GitLab CI auto deploy will remove users uploaded files

Hi there,

I have configured GitLab CI to deploy Laravel project to the server but I have one problem: In my project users can upload files to their profile but when I deploy the project users uploaded file will be deleted

This is my configuration file

    stage: deploy
  image: tetraweb/php:7.1
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    - mkdir -p ~/.ssh
    - eval $(ssh-agent -s)
    - '[[ -f /.dockerenv ]] && echo -e "Host *ntStrictHostKeyChecking nonn" > ~/.ssh/config'
    - ssh-add <(echo "$PRIVATE_KEY")
    - ssh-keyscan -H '' >> $HOME/.ssh/known_hosts
    - apt-get install rsync
    - ssh -p22 "mkdir -p ~/public_html/dev"
    - ssh -p22 "mkdir -p ~/public_html/dev_tmp"
    - ssh -p22 "mkdir -p ~/public_html/dev_old"
    - rsync -rav -e ssh --exclude='.git/' --exclude='.gitlab-ci.yml' --delete-excluded ./
    - ssh -p22 "mv ~/public_html/dev ~/public_html/dev_old" 
    - ssh -p22 "mv ~/public_html/dev_tmp ~/public_html/dev"
    - ssh -p22 "cp ~/ ~/public_html/dev/"
    - ssh -p22 "~/public_html/dev/"
    - ssh -p22 "rm -rf ~/public_html/dev_old"
    - release

Thanks in advance.