feat(dotnet): migrate core formulas, deploy tools, and blazor admin web app to .NET 10
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Has been cancelled
Quant Engine CI/CD Pipeline / validate-core (pull_request) Has been cancelled
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Has been cancelled
Quant Engine CI/CD Pipeline / validate-core (pull_request) Has been cancelled
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been cancelled
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Has been cancelled
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
# Quant Engine Shadow Copy Hot Deploy Script
|
||||
# To be executed on Hz-Prod-01 Remote Server
|
||||
|
||||
set -e
|
||||
|
||||
DEPLOY_BASE="/home/kjh2064/deployments"
|
||||
ACTIVE_LINK="/home/kjh2064/quantengine_active"
|
||||
TMP_ARCHIVE="/home/kjh2064/tmp/quantengine.tar.gz"
|
||||
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
TARGET_DIR="${DEPLOY_BASE}/quantengine_${TIMESTAMP}"
|
||||
|
||||
echo "========================================="
|
||||
echo "Starting Shadow Copy Hot Deploy [${TIMESTAMP}]"
|
||||
echo "========================================="
|
||||
|
||||
# 1. Ensure directories exist
|
||||
mkdir -p "${DEPLOY_BASE}"
|
||||
mkdir -p "${TARGET_DIR}"
|
||||
|
||||
# 2. Extract build artifact to unique shadow directory
|
||||
if [ -f "${TMP_ARCHIVE}" ]; then
|
||||
echo "Extracting build artifact to ${TARGET_DIR}..."
|
||||
tar -xzf "${TMP_ARCHIVE}" -C "${TARGET_DIR}"
|
||||
rm -f "${TMP_ARCHIVE}"
|
||||
else
|
||||
echo "ERROR: Deployment archive not found at ${TMP_ARCHIVE}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. Swap symbolic link atomically
|
||||
echo "Swapping symbolic link dynamically..."
|
||||
ln -sfn "${TARGET_DIR}" "${ACTIVE_LINK}"
|
||||
|
||||
# 4. Restart Systemd service (requires passwordless sudo reload or specific policy)
|
||||
echo "Restarting Systemd service..."
|
||||
sudo systemctl restart quantengine
|
||||
|
||||
# 5. Clean up old deployments (keep last 5)
|
||||
echo "Cleaning up obsolete deployments..."
|
||||
cd "${DEPLOY_BASE}"
|
||||
ls -dt quantengine_* | tail -n +6 | while read -r old_dir; do
|
||||
echo "Removing old release: ${old_dir}"
|
||||
rm -rf "${old_dir}"
|
||||
done
|
||||
|
||||
echo "========================================="
|
||||
echo "Deployment successfully completed!"
|
||||
echo "Active Version: $(readlink -f ${ACTIVE_LINK})"
|
||||
echo "========================================="
|
||||
Reference in New Issue
Block a user