68 lines
1.6 KiB
YAML
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
|