diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 50ba152..dd08c82 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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/