#!/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}"