zlh-agent/scripts/devcontainer/node/install.sh
2025-12-21 22:11:44 +00:00

34 lines
937 B
Bash

#!/usr/bin/env bash
set -euo pipefail
RUNTIME="node"
RUNTIME_ROOT="/opt/zlh/runtime/${RUNTIME}"
DEST_VERSION="${RUNTIME_VERSION:?RUNTIME_VERSION required}"
ARTIFACT_BASE_URL="${ZLH_ARTIFACT_BASE_URL:-http://10.60.0.251:8080}"
ARCHIVE_FILE="${RUNTIME}-${DEST_VERSION}.tar.xz"
URL="${ARTIFACT_BASE_URL%/}/devcontainer/${RUNTIME}/${DEST_VERSION}/${ARCHIVE_FILE}"
DEST_DIR="${RUNTIME_ROOT}/${DEST_VERSION}"
echo "[${RUNTIME}] Installing ${RUNTIME} ${DEST_VERSION}"
mkdir -p "${RUNTIME_ROOT}"
if [ ! -d "${DEST_DIR}" ]; then
curl -fL "${URL}" -o /tmp/${ARCHIVE_FILE}
mkdir -p "${DEST_DIR}"
tar -xf /tmp/${ARCHIVE_FILE} -C "${DEST_DIR}" --strip-components=1
fi
ln -sfn "${DEST_DIR}" "${RUNTIME_ROOT}/current"
ln -sfn "${DEST_DIR}/bin" "${RUNTIME_ROOT}/bin"
cat >/etc/profile.d/zlh-${RUNTIME}.sh <<EOF
export PATH="/opt/zlh/runtime/${RUNTIME}/bin:\$PATH"
EOF
chmod +x /etc/profile.d/zlh-${RUNTIME}.sh
chmod -R 755 "${DEST_DIR}"