Add Jenkins local deployment test parameters

This commit is contained in:
Codex
2026-04-29 12:03:22 +08:00
parent 37a03dc994
commit 1dee5f72d7
4 changed files with 93 additions and 14 deletions

View File

@@ -12,7 +12,8 @@ pipeline {
string(name: 'DATABASE', defaultValue: '', description: 'SpacetimeDB 数据库名,留空则读取环境变量')
string(name: 'SERVER', defaultValue: 'maincloud', description: 'SpacetimeDB server 别名,例如 maincloud/local/dev')
string(name: 'SERVER_URL', defaultValue: '', description: 'SpacetimeDB server URL填写后优先于 SERVER')
string(name: 'ROOT_DIR', defaultValue: '', description: 'spacetime CLI root-dir可选')
string(name: 'DEPLOY_DIRECTORY', defaultValue: '/var/lib/jenkins/deploy/Genarrative', description: '固定部署目录ROOT_DIR 为空时使用其 .spacetimedb')
string(name: 'ROOT_DIR', defaultValue: '', description: 'spacetime CLI root-dir可选优先于 DEPLOY_DIRECTORY')
string(name: 'INCLUDE_TABLES', defaultValue: '', description: '可选,逗号分隔的表名白名单')
string(name: 'OUTPUT_DIRECTORY', defaultValue: 'database-exports', description: '导出文件目录,相对源码根目录或绝对路径')
string(name: 'EXPORT_NAME', defaultValue: '', description: '导出文件名,留空则自动使用构建号')
@@ -28,6 +29,11 @@ pipeline {
script {
// 允许 Jenkins Job 指定固定源码目录;未指定时使用当前工作区,方便临时手工执行。
env.WORKSPACE_ROOT = params.GENARRATIVE_WORKSPACE_ROOT?.trim() ? params.GENARRATIVE_WORKSPACE_ROOT.trim() : pwd()
def deployDirectory = params.DEPLOY_DIRECTORY?.trim()
if (!deployDirectory) {
error('DEPLOY_DIRECTORY 不能为空。')
}
env.EFFECTIVE_ROOT_DIR = params.ROOT_DIR?.trim() ? params.ROOT_DIR.trim() : "${deployDirectory}/.spacetimedb"
def exportName = params.EXPORT_NAME?.trim()
if (!exportName) {
exportName = "spacetime-migration-${env.BUILD_NUMBER}.json"
@@ -60,8 +66,8 @@ pipeline {
if [[ -n "${params.SERVER_URL}" ]]; then
args+=(--server-url "${params.SERVER_URL}")
fi
if [[ -n "${params.ROOT_DIR}" ]]; then
args+=(--root-dir "${params.ROOT_DIR}")
if [[ -n "${env.EFFECTIVE_ROOT_DIR}" ]]; then
args+=(--root-dir "${env.EFFECTIVE_ROOT_DIR}")
fi
if [[ -n "${params.INCLUDE_TABLES}" ]]; then
args+=(--include "${params.INCLUDE_TABLES}")