|
|
@@ -113,6 +113,78 @@ pipeline {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ stage('环境检查') {
|
|
|
+ steps {
|
|
|
+ script {
|
|
|
+ sh '''
|
|
|
+ source ${WORKSPACE}/jenkins/lib/logger.sh
|
|
|
+ source ${WORKSPACE}/jenkins/lib/telegram.sh
|
|
|
+ source ${WORKSPACE}/build_vars.env
|
|
|
+
|
|
|
+ log_message "=============== 环境检查 ==============="
|
|
|
+ log_message "检查 Node 版本: ${NODE_VERSION}"
|
|
|
+
|
|
|
+ # 检查 Node 版本目录是否存在
|
|
|
+ NODE_DIR="/root/.nvm/versions/node/${NODE_VERSION}"
|
|
|
+ if [ ! -d "${NODE_DIR}" ]; then
|
|
|
+ log_message "❌ 错误: Node ${NODE_VERSION} 未安装"
|
|
|
+ log_message "Node 目录不存在: ${NODE_DIR}"
|
|
|
+ log_message "请先在服务器上安装 Node ${NODE_VERSION}"
|
|
|
+ log_message "安装命令: nvm install ${NODE_VERSION}"
|
|
|
+
|
|
|
+ # 列出已安装的 Node 版本
|
|
|
+ log_message "当前已安装的 Node 版本:"
|
|
|
+ ls -la /root/.nvm/versions/node/ 2>/dev/null || log_message "无法读取 nvm 版本目录"
|
|
|
+
|
|
|
+ send_telegram_message "❌ 构建中止 - ${PROJECT_NAME}
|
|
|
+
|
|
|
+Node 版本 ${NODE_VERSION} 未安装
|
|
|
+请在服务器上执行: nvm install ${NODE_VERSION}"
|
|
|
+
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 检查 node 可执行文件是否存在
|
|
|
+ if [ ! -x "${NODE_PATH}/node" ]; then
|
|
|
+ log_message "❌ 错误: Node 可执行文件不存在"
|
|
|
+ log_message "路径: ${NODE_PATH}/node"
|
|
|
+
|
|
|
+ send_telegram_message "❌ 构建中止 - ${PROJECT_NAME}
|
|
|
+
|
|
|
+Node 可执行文件不存在: ${NODE_PATH}/node"
|
|
|
+
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 检查 pnpm 是否存在
|
|
|
+ if [ ! -x "${PNPM_PATH}" ]; then
|
|
|
+ log_message "⚠️ 警告: pnpm 未安装,尝试安装..."
|
|
|
+ export PATH="${NODE_PATH}:$PATH"
|
|
|
+ npm install -g pnpm
|
|
|
+
|
|
|
+ if [ ! -x "${PNPM_PATH}" ]; then
|
|
|
+ log_message "❌ 错误: pnpm 安装失败"
|
|
|
+
|
|
|
+ send_telegram_message "❌ 构建中止 - ${PROJECT_NAME}
|
|
|
+
|
|
|
+pnpm 安装失败,请手动安装: npm install -g pnpm"
|
|
|
+
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 验证 Node 版本
|
|
|
+ export PATH="${NODE_PATH}:$PATH"
|
|
|
+ ACTUAL_VERSION=$(node -v)
|
|
|
+ log_message "✅ Node 版本验证通过: ${ACTUAL_VERSION}"
|
|
|
+ log_message "✅ pnpm 版本: $(${PNPM_PATH} -v)"
|
|
|
+
|
|
|
+ update_progress 10 "环境检查完成"
|
|
|
+ '''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
stage('代码拉取') {
|
|
|
steps {
|
|
|
script {
|