Closes: - uv caching #51 - act runner cache #49 - services tests #20 --------- Co-authored-by: Benjamin Labrecque <labrecque.benji@gmail.com> Reviewed-on: #48
42 lines
1.4 KiB
Bash
Executable File
42 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SERVICE_NAME=$1
|
|
AGEBD_ENV=$2
|
|
|
|
echo "=========================================="
|
|
echo "Deploying service: $SERVICE_NAME (${AGEBD_ENV})"
|
|
echo "=========================================="
|
|
|
|
SERVICE_NAME_LOWER=$(echo "$SERVICE_NAME" | tr '[:upper:]' '[:lower:]')
|
|
SERVICE_NAME_UPPER=$(echo "$SERVICE_NAME" | tr '[:lower:]' '[:upper:]')
|
|
SERVICE_DIR=/sls/bd/hla/${AGEBD_ENV}/services/${SERVICE_NAME_LOWER}/current
|
|
SYSTEMD_UNIT_NAME=AGEBD-SERVICE-${SERVICE_NAME_UPPER}.service
|
|
SYSTEMD_UNIT_FILE_PATH=${SERVICE_DIR}/systemd/${SYSTEMD_UNIT_NAME}
|
|
|
|
# TODO: see https://gitea.psi.ch/sls/hla_framework_bd/issues/50
|
|
# rm -rf "${SERVICE_DIR}"
|
|
# mkdir -p ${SERVICE_DIR}
|
|
# cp -r ./services/${SERVICE_NAME_LOWER}/current/* ${SERVICE_DIR}/
|
|
|
|
rsync -avz --delete \
|
|
--exclude='.nfs*' \
|
|
--exclude='.git/' \
|
|
--exclude='.venv/' \
|
|
--exclude='__pycache__/' \
|
|
--exclude='*.pyc' \
|
|
--exclude='.pytest_cache/' \
|
|
./services/${SERVICE_NAME_LOWER}/current/* ${SERVICE_DIR}/
|
|
|
|
|
|
if [ -f "${SYSTEMD_UNIT_FILE_PATH}" ]; then
|
|
sed -i "s/{{ *agebd_env* }}/${AGEBD_ENV}/g" "${SYSTEMD_UNIT_FILE_PATH}"
|
|
fi
|
|
|
|
mkdir -p ${HOME}/.config/systemd/user
|
|
ln -sf "${SYSTEMD_UNIT_FILE_PATH}" "${HOME}/.config/systemd/user/${SYSTEMD_UNIT_NAME}"
|
|
|
|
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
|
|
systemctl --user daemon-reload
|
|
systemctl --user enable "${SYSTEMD_UNIT_NAME}"
|
|
systemctl --user restart "${SYSTEMD_UNIT_NAME}"
|