fix: Jenkinsfile 适配无 Node.js 环境
- 通过 nvm 安装 Node.js(Jenkins 容器内无预装) - 所有 sh 步骤 source nvm 确保 node/pnpm 可用 - cleanWs() 替换为 deleteDir()(ws-cleanup 插件未安装)
This commit is contained in:
parent
24f4abde20
commit
cc5f5f587b
36
Jenkinsfile
vendored
36
Jenkinsfile
vendored
@ -3,30 +3,42 @@ pipeline {
|
||||
|
||||
environment {
|
||||
NODE_VERSION = '22'
|
||||
PNPM_VERSION = '10'
|
||||
NVM_DIR = "$HOME/.nvm"
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Setup Node.js') {
|
||||
steps {
|
||||
sh '''
|
||||
if ! command -v node &> /dev/null; then
|
||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
nvm install $NODE_VERSION
|
||||
nvm use $NODE_VERSION
|
||||
fi
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
node -v
|
||||
npm install -g pnpm@10
|
||||
pnpm -v
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('Install') {
|
||||
steps {
|
||||
sh '''
|
||||
if ! command -v pnpm &> /dev/null; then
|
||||
npm install -g pnpm@${PNPM_VERSION}
|
||||
fi
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
pnpm install --frozen-lockfile
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('Lint') {
|
||||
steps {
|
||||
sh 'pnpm run lint || true'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh 'pnpm run build:antd'
|
||||
sh '''
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
pnpm run build:antd
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,7 +57,7 @@ pipeline {
|
||||
echo 'Frontend build failed!'
|
||||
}
|
||||
always {
|
||||
cleanWs()
|
||||
deleteDir()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user