diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2022-07-11 02:59:35 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2022-07-11 02:59:40 +0300 |
commit | 864e73cdc75a2fb0e4fad500f649dae2343c10a8 (patch) | |
tree | 6ce6762c6be72c98592a32fe0bed4f2ce751d544 /deploy/deploy.sh | |
parent | cb13ea239b9f1ca6aea43125d5694d5a55dcd287 (diff) |
rewrite css and js assets building
Diffstat (limited to 'deploy/deploy.sh')
-rwxr-xr-x | deploy/deploy.sh | 52 |
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' |