aboutsummaryrefslogtreecommitdiff
path: root/deploy/deploy.sh
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2022-07-11 02:59:35 +0300
committerEvgeny Zinoviev <me@ch1p.io>2022-07-11 02:59:40 +0300
commit864e73cdc75a2fb0e4fad500f649dae2343c10a8 (patch)
tree6ce6762c6be72c98592a32fe0bed4f2ce751d544 /deploy/deploy.sh
parentcb13ea239b9f1ca6aea43125d5694d5a55dcd287 (diff)
rewrite css and js assets building
Diffstat (limited to 'deploy/deploy.sh')
-rwxr-xr-xdeploy/deploy.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/deploy/deploy.sh b/deploy/deploy.sh
new file mode 100755
index 0000000..7ef28a3
--- /dev/null
+++ b/deploy/deploy.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+set -e
+
+DIR="$( cd "$( dirname "$(readlink -f "${BASH_SOURCE[0]}")" )" && pwd )"
+
+DEV_DIR="$(realpath "$DIR/../")"
+STAGING_DIR="$HOME/staging"
+PROD_DIR="$HOME/prod"
+PHP=/usr/bin/php8.1
+
+git push origin master
+
+[ -d "$STAGING_DIR" ] || mkdir "$STAGING_DIR"
+pushd "$STAGING_DIR"
+
+if [ ! -d .git ]; then
+ git init
+ git remote add origin git@ch1p.io:ch1p_io_web.git
+ git fetch
+ git checkout master
+fi
+
+git reset --hard
+git pull origin master
+
+composer8.1 install --no-dev --optimize-autoloader --ignore-platform-reqs
+
+if [ ! -d node_modules ]; then
+ npm i
+fi
+
+cp "$DEV_DIR/config-local.php" .
+sed -i '/is_dev/d' ./config-local.php
+
+"$DIR"/build_js.sh -i "$DEV_DIR/htdocs/js" -o "$STAGING_DIR/htdocs/dist-js" || die "build_js failed"
+"$DIR"/build_css.sh -i "$DEV_DIR/htdocs/scss" -o "$STAGING_DIR/htdocs/dist-css" || die "build_css failed"
+$PHP "$DIR"/gen_static_config.php > "$STAGING_DIR/config-static.php" || die "gen_static_config failed"
+
+popd
+
+# copy staging to prod
+rsync -a --delete --delete-excluded --info=progress2 "$STAGING_DIR/" "$PROD_DIR/" \
+ --exclude .git \
+ --exclude debug.log \
+ --exclude='/composer.*' \
+ --exclude='/htdocs/scss' \
+ --exclude='/htdocs/js' \
+ --exclude='/htdocs/sass.php' \
+ --exclude='/htdocs/js.php' \
+ --exclude='*.sh' \
+ --exclude='*.sql'