diff --git a/jenkins/Jenkinsfile.build b/jenkins/Jenkinsfile.build deleted file mode 100644 index db165ede..00000000 --- a/jenkins/Jenkinsfile.build +++ /dev/null @@ -1,69 +0,0 @@ -pipeline { - agent none - - options { - disableConcurrentBuilds() - timestamps() - } - - parameters { - string(name: 'AGENT_LABEL', defaultValue: 'built-in', description: '构建节点标签') - string(name: 'GENARRATIVE_WORKSPACE_ROOT', defaultValue: '', description: '源码根目录,留空则使用当前 Jenkins 工作区') - string(name: 'BUILD_VERSION', defaultValue: '', description: '发布版本号,留空则使用 Jenkins BUILD_NUMBER') - booleanParam(name: 'RUN_NPM_CI', defaultValue: false, description: '构建前是否执行 npm ci') - } - - stages { - stage('构建发布包') { - agent { - label "${params.AGENT_LABEL}" - } - - steps { - script { - // 统一在脚本块里计算版本号,避免 declarative environment 对表达式求值不一致。 - env.EFFECTIVE_BUILD_VERSION = params.BUILD_VERSION?.trim() ? params.BUILD_VERSION.trim() : env.BUILD_NUMBER - // 允许 Jenkins Job 直接指定固定源码目录,未指定时回退到当前工作区。 - env.WORKSPACE_ROOT = params.GENARRATIVE_WORKSPACE_ROOT?.trim() ? params.GENARRATIVE_WORKSPACE_ROOT.trim() : pwd() - } - - dir("${env.WORKSPACE_ROOT}") { - checkout scm - - sh ''' - bash -lc ' - set -euo pipefail - # 构建前清理工作区内的 Git 变更和未跟踪文件,避免复用固定源码目录时受到上次构建残留影响。 - # 这里不使用 -x,避免删除 node_modules 等忽略目录后与 RUN_NPM_CI=false 的配置冲突。 - git reset --hard HEAD - git clean -fd - ' - ''' - - script { - // 是否重装依赖交给流水线参数决定,避免每次构建都重复执行 npm ci。 - if (params.RUN_NPM_CI) { - sh 'bash -lc "npm ci"' - } - } - - sh """ - bash -lc ' - set -euo pipefail - npm run deploy:rust:remote -- --skip-upload --name "${env.EFFECTIVE_BUILD_VERSION}" - test -d "build/${env.EFFECTIVE_BUILD_VERSION}" - ' - """ - - archiveArtifacts artifacts: "build/${env.EFFECTIVE_BUILD_VERSION}/**", fingerprint: true - } - } - } - } - - post { - success { - echo "构建完成,版本号: ${env.EFFECTIVE_BUILD_VERSION}" - } - } -} diff --git a/jenkins/Jenkinsfile.database-export b/jenkins/Jenkinsfile.database-export index e9f8a653..f8d8876a 100644 --- a/jenkins/Jenkinsfile.database-export +++ b/jenkins/Jenkinsfile.database-export @@ -6,6 +6,11 @@ pipeline { timestamps() } + environment { + GENARRATIVE_TOOLS_PATH = "/var/lib/jenkins/.nvm/versions/node/v22.22.2/bin:/var/lib/jenkins/.cargo/bin:/var/lib/jenkins/.local/bin:/var/lib/jenkins/bin" + PATH = "${GENARRATIVE_TOOLS_PATH}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" + } + parameters { string(name: 'AGENT_LABEL', defaultValue: 'built-in', description: '执行节点标签') string(name: 'GENARRATIVE_WORKSPACE_ROOT', defaultValue: '', description: '源码根目录,留空则使用当前 Jenkins 工作区') diff --git a/jenkins/Jenkinsfile.database-import b/jenkins/Jenkinsfile.database-import index 6ab8b74b..afd0ad97 100644 --- a/jenkins/Jenkinsfile.database-import +++ b/jenkins/Jenkinsfile.database-import @@ -6,6 +6,11 @@ pipeline { timestamps() } + environment { + GENARRATIVE_TOOLS_PATH = "/var/lib/jenkins/.nvm/versions/node/v22.22.2/bin:/var/lib/jenkins/.cargo/bin:/var/lib/jenkins/.local/bin:/var/lib/jenkins/bin" + PATH = "${GENARRATIVE_TOOLS_PATH}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" + } + parameters { string(name: 'AGENT_LABEL', defaultValue: 'built-in', description: '执行节点标签') string(name: 'GENARRATIVE_WORKSPACE_ROOT', defaultValue: '', description: '源码根目录,留空则使用当前 Jenkins 工作区') diff --git a/jenkins/Jenkinsfile.deploy b/jenkins/Jenkinsfile.deploy index 6af8dffb..a342f78e 100644 --- a/jenkins/Jenkinsfile.deploy +++ b/jenkins/Jenkinsfile.deploy @@ -6,6 +6,11 @@ pipeline { timestamps() } + environment { + GENARRATIVE_TOOLS_PATH = "/var/lib/jenkins/.nvm/versions/node/v22.22.2/bin:/var/lib/jenkins/.cargo/bin:/var/lib/jenkins/.local/bin:/var/lib/jenkins/bin" + PATH = "${GENARRATIVE_TOOLS_PATH}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" + } + parameters { string(name: 'SOURCE_NODE_NAME', defaultValue: '', description: '上游构建节点名') string(name: 'SOURCE_WORKSPACE_ROOT', defaultValue: '', description: '上游源码根目录')