53 lines
2.2 KiB
YAML
53 lines
2.2 KiB
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
build:
|
|
stage: build
|
|
image: composer:2
|
|
script:
|
|
- apk add --no-cache nodejs npm
|
|
- npm install
|
|
- if [ "$CI_COMMIT_REF_NAME" = "preprod" ]; then npm run build:preprod; else npm run build; fi
|
|
- 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_prod:
|
|
stage: deploy
|
|
image: node:latest
|
|
needs: ['build']
|
|
only:
|
|
- main
|
|
before_script:
|
|
- apt-get update -qq && apt-get install -y rsync sshpass
|
|
script:
|
|
- cd dist
|
|
- if [ ! -d "vendor" ]; then echo "Error: vendor/ not found"; exit 1; fi
|
|
- sshpass -p "$PASSWORD" rsync -az --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 -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" vendor/ $USERNAME@$HOST:$PROD_PATH/vendor/
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" kirby/ $USERNAME@$HOST:$PROD_PATH/kirby/
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O --exclude 'tiles/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" assets/ $USERNAME@$HOST:$PROD_PATH/assets/
|
|
|
|
deploy_preprod:
|
|
stage: deploy
|
|
image: node:latest
|
|
needs: ['build']
|
|
only:
|
|
- preprod
|
|
before_script:
|
|
- apt-get update -qq && apt-get install -y rsync sshpass
|
|
script:
|
|
- cd dist
|
|
- if [ ! -d "vendor" ]; then echo "Error: vendor/ not found"; exit 1; fi
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O --exclude 'accounts/' --exclude 'cache/' --exclude 'sessions/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" site/ $USERNAME@$HOST:$PREPROD_PATH/site/
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" vendor/ $USERNAME@$HOST:$PREPROD_PATH/vendor/
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O -e "ssh -p 2244 -o StrictHostKeyChecking=no" kirby/ $USERNAME@$HOST:$PREPROD_PATH/kirby/
|
|
- sshpass -p "$PASSWORD" rsync -az --delete -O --exclude 'tiles/' -e "ssh -p 2244 -o StrictHostKeyChecking=no" assets/ $USERNAME@$HOST:$PREPROD_PATH/assets/
|