34 lines
937 B
Bash
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}"
|