designtopack/.gitlab-ci.yml
2025-09-03 10:56:15 +02:00

68 lines
1.6 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_template: &deploy_template
stage: deploy
image: node:latest
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:$TARGET_PATH/site/
sshpass -p "$PASSWORD" rsync -avz --delete -O \
-e "ssh -p 2244 -o StrictHostKeyChecking=no" \
vendor/ $USERNAME@$HOST:$TARGET_PATH/vendor/
sshpass -p "$PASSWORD" rsync -avz --delete -O \
-e "ssh -p 2244 -o StrictHostKeyChecking=no" \
kirby/ $USERNAME@$HOST:$TARGET_PATH/kirby/
sshpass -p "$PASSWORD" rsync -avz --delete -O \
--exclude 'tiles/' \
-e "ssh -p 2244 -o StrictHostKeyChecking=no" \
assets/ $USERNAME@$HOST:$TARGET_PATH/assets/
dependencies:
- build
deploy_prod:
<<: *deploy_template
only:
- main
variables:
TARGET_PATH: $PROD_PATH
deploy_preprod:
<<: *deploy_template
only:
- preprod
variables:
TARGET_PATH: $PREPROD_PATH