designtopack/.gitlab-ci.yml
2025-08-01 16:50:49 +02:00

56 lines
1.3 KiB
YAML

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