#!/bin/bash # bless you chris and andy <3 DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) MNML_PATH=$(realpath "$DIR/../") VERSION=$(<"$MNML_PATH/VERSION") SERVER_BIN_DIR="/usr/local/mnml/bin" CLIENT_DIST_DIR="/var/lib/mnml/client" CLIENT_PUBLIC_DIR="/var/lib/mnml/public/current" TARGET=$1 echo "syncing server $VERSION to $TARGET" # server updates echo "syncing server $VERSION " rsync -a --delete --delete-excluded "$MNML_PATH/server/target/release/mnml" "$TARGET:$SERVER_BIN_DIR/$VERSION" ssh -q "$TARGET" ln -nfs "$SERVER_BIN_DIR/$VERSION" "$SERVER_BIN_DIR/mnml" ssh -q "$TARGET" ls -lah "$SERVER_BIN_DIR" # client updates echo "syncing client $VERSION" rsync -a --delete --delete-excluded "$MNML_PATH/client/dist/" "$TARGET:$CLIENT_DIST_DIR/$VERSION/" ssh -q "$TARGET" ln -nfs "$CLIENT_DIST_DIR/$VERSION" "$CLIENT_PUBLIC_DIR" ssh -q "$TARGET" ls -lah "$CLIENT_DIST_DIR" echo "restarting mnml service" ssh -q -t "$TARGET" sudo service mnml restart && sleep 1 && systemctl --no-pager status mnml echo "restarting nginx service" ssh -q -t "$TARGET" sudo service nginx restart && sleep 1 && systemctl --no-pager status nginx