stages: - build - deploy variables: LFTP_IMAGE: alpine/ftp before_script: - apt-get --no-cache lftp build: stage: build image: php:8.2 cache: key: ${CI_COMMIT_REF_SLUG} paths: - vendor/ script: - composer install --no-dev --optimize-autoloader artifacts: paths: - dist/ deploy: stage: deploy only: - main image: $LFTP_IMAGE script: - lftp -c " set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror --reverse --verbose --ignore-time --parallel=10 assets assets; mirror --reverse --verbose --ignore-time --parallel=10 kirby kirby; mirror --reverse --verbose --ignore-time --parallel=10 -x accounts/ -x cache/ -x sessions/ site site; mirror --reverse --verbose --ignore-time --parallel=10 vendor vendor; quit" - curl -sSf https://$HOST > /dev/null