Bila anda menggunakan MkDocs dan hosting di Gitlab bisa memanfaatkan Gitlab CI untuk deploy otomatis ke server anda. Buat .gitlab-ci.yml
di repository anda, disini saya menggunakan branch master.
image: debian:latest before_script: - apt-get update -yqq - mkdir -p ~/.ssh - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config - apt-get install mkdocs wget rsync openssh-server -yqq - apt-get install python3-pip -yqq - pip3 install -qqq mkdocs-material build-mkdocs: script: - cd .. - echo -e " site_url: https://docs.jaranguda.com site_name: Catatan Lapaktrip docs_dir: docs theme: name: 'material'" > mkdocs.yml - mkdocs build - rsync -4 -av --delete site/ tommy@docs.jaranguda.com:/var/www/docs.jaranguda.com/
Bila anda menggunakan banyak repository bisa memilih hanya satu branch saja yang otomatis di deploy dengan menambahkan
only: - development
di .gitlab-ci.yml
variabel $SSH_PRIVATE_KEY
diatas di tambahhkan dari repository di gitlab. Setting -> CI/CD -> Variables
untuk mengupload file mkdocs kita akan menggunakan rsync. Cara diatas menggunakan public key, bila anda menggunakan password, install sshpass terlebih dahulu.