35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
APP_HOME="${APP_HOME:-/home/zaine/master-folder/projects/java_projects/org_backend}"
|
|
SERVICE_NAME="${SERVICE_NAME:-org-backend.service}"
|
|
|
|
SOURCE_DIR="$(pwd)"
|
|
SOURCE_JAR="${SOURCE_DIR}/target/org-backend.jar"
|
|
APP_TARGET_DIR="${APP_HOME}/target"
|
|
APP_JAR="${APP_TARGET_DIR}/org-backend.jar"
|
|
SOURCE_SERVICE="${SOURCE_DIR}/misc/${SERVICE_NAME}"
|
|
SYSTEMD_SERVICE="/etc/systemd/system/${SERVICE_NAME}"
|
|
|
|
if [[ ! -f "${SOURCE_JAR}" ]]; then
|
|
echo "Missing built jar: ${SOURCE_JAR}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -f "${SOURCE_SERVICE}" ]]; then
|
|
echo "Missing service file: ${SOURCE_SERVICE}" >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "${APP_TARGET_DIR}"
|
|
|
|
if [[ "$(realpath "${SOURCE_JAR}")" != "$(realpath -m "${APP_JAR}")" ]]; then
|
|
install -m 0644 "${SOURCE_JAR}" "${APP_JAR}"
|
|
fi
|
|
|
|
sudo install -m 0644 "${SOURCE_SERVICE}" "${SYSTEMD_SERVICE}"
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable "${SERVICE_NAME}"
|
|
sudo systemctl restart "${SERVICE_NAME}"
|
|
sudo systemctl --no-pager --full status "${SERVICE_NAME}"
|