improve CI

This commit is contained in:
isUnknown 2025-10-08 14:41:56 +02:00
parent dca0f18cbb
commit 7c0e0e4798

View file

@ -2,10 +2,6 @@ stages:
- build
- deploy
variables:
COMPOSER_ALLOW_SUPERUSER: '1'
SSH_PORT: '2244'
build:
stage: build
image: composer:2
@ -24,29 +20,6 @@ build:
paths:
- node_modules/
.deploy_script: &deploy_script |
cd dist
if [ ! -d "vendor" ]; then
echo "Error: vendor/ not found in dist (composer install may have failed)"
exit 1
fi
rsync_deploy() {
local src=$1
local dst=$2
local exclude=$3
cmd="sshpass -p \"$PASSWORD\" rsync -az --delete -O"
[[ -n $exclude ]] && cmd="$cmd $exclude"
cmd="$cmd -e 'ssh -p $SSH_PORT -o StrictHostKeyChecking=no' $src $USERNAME@$HOST:$dst"
echo "$cmd"
eval $cmd
}
rsync_deploy site/ "$TARGET_PATH/site/" "--exclude 'accounts/' --exclude 'cache/' --exclude 'sessions/'"
rsync_deploy vendor/ "$TARGET_PATH/vendor/"
rsync_deploy kirby/ "$TARGET_PATH/kirby/"
rsync_deploy assets/ "$TARGET_PATH/assets/" "--exclude 'tiles/'"
deploy_prod:
stage: deploy
image: node:latest
@ -56,9 +29,12 @@ deploy_prod:
before_script:
- apt-get update -qq && apt-get install -y rsync sshpass
script:
- TARGET_PATH=$PROD_PATH bash -c "$DEPLOY_SCRIPT"
variables:
DEPLOY_SCRIPT: *deploy_script
- cd dist
- if [ ! -d "vendor" ]; then echo "Error: vendor/ not found"; exit 1; fi
- rsync -az --delete -O --exclude 'accounts/' --exclude 'cache/' --exclude 'sessions/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" site/ $USERNAME@$HOST:$PROD_PATH/site/
- rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" vendor/ $USERNAME@$HOST:$PROD_PATH/vendor/
- rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" kirby/ $USERNAME@$HOST:$PROD_PATH/kirby/
- rsync -az --delete -O --exclude 'tiles/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" assets/ $USERNAME@$HOST:$PROD_PATH/assets/
deploy_preprod:
stage: deploy
@ -69,6 +45,9 @@ deploy_preprod:
before_script:
- apt-get update -qq && apt-get install -y rsync sshpass
script:
- TARGET_PATH=$PREPROD_PATH bash -c "$DEPLOY_SCRIPT"
variables:
DEPLOY_SCRIPT: *deploy_script
- cd dist
- if [ ! -d "vendor" ]; then echo "Error: vendor/ not found"; exit 1; fi
- rsync -az --delete -O --exclude 'accounts/' --exclude 'cache/' --exclude 'sessions/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" site/ $USERNAME@$HOST:$PREPROD_PATH/site/
- rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" vendor/ $USERNAME@$HOST:$PREPROD_PATH/vendor/
- rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" kirby/ $USERNAME@$HOST:$PREPROD_PATH/kirby/
- rsync -az --delete -O --exclude 'tiles/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" assets/ $USERNAME@$HOST:$PREPROD_PATH/assets/