Situs web statis memuat lebih cepat dan menawarkan permukaan serangan yang lebih sedikit. Saya menunjukkan kepada Anda cara mengonversi halaman CMS melalui Gitlab Pipline. Pertama, saya membuat build stage yang menghasilkan salinan statis melalui wget.
uild:
stage: build
when: always
only:
- master
script:
- mkdir static
- rm -r .git
- wget -k -K -E -r -l 10 -p -N -F --restrict-file-names=windows -nH http://wordpress-adresse/ -P static >> /dev/null 2>&1 || true
- find . -type f -exec sed -i 's#http://wordpress-adresse/#\//m#g' {} + >> /dev/null 2>&1
artifacts:
paths:
- static/
expire_in: 24 week
Hasil atau artefak statis diarsipkan selama 24 minggu dan dapat digunakan kapan saja melalui pipeline.
Pada langkah berikutnya, hasilnya bisa digunakan:
live:
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
stage: deploy
when: always
only:
- master
script:
- rsync -avuz -e 'ssh -p {-P Port wenn nötig} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' static/* user@www.domain.com:/path/to/www.domain.de/public/
Selesai! Terlampir sekali lagi seluruh pipeline (.gitlab_ci.yml)
stages:
- build
- deploy
build:
stage: build
when: always
only:
- master
script:
- mkdir static
- rm -r .git
- wget -k -K -E -r -l 10 -p -N -F --restrict-file-names=windows -nH http://wordpress-adresse/ -P static >> /dev/null 2>&1 || true
- find . -type f -exec sed -i 's#http://wordpress-adresse/#\//m#g' {} + >> /dev/null 2>&1
artifacts:
paths:
- static/
expire_in: 24 week
live:
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
stage: deploy
when: always
only:
- master
script:
- rsync -avuz -e 'ssh -p {-P Port wenn nötig} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' static/* user@www.domain.com:/path/to/www.domain.de/public/