stages: - build - deploy variables: COMPOSER_ALLOW_SUPERUSER: '1' build: stage: build image: composer:2 script: - apk add --no-cache nodejs npm - npm install - npm run build - cd dist - composer install --no-dev --optimize-autoloader --ignore-platform-req=ext-gd - cd .. artifacts: paths: - dist/ cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ 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 -O \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ vendor/ $USERNAME@$HOST:$PROD_PATH/vendor/ sshpass -p "$PASSWORD" rsync -avz --delete -O \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ kirby/ $USERNAME@$HOST:$PROD_PATH/kirby/ sshpass -p "$PASSWORD" rsync -avz --delete -O \ --exclude 'tiles/' \ -e "ssh -p 2244 -o StrictHostKeyChecking=no" \ assets/ $USERNAME@$HOST:$PROD_PATH/assets/ dependencies: - build