ci: derive web target from Jenkins job

这个提交包含在:
XuqmGroup 2026-07-27 13:07:06 +08:00
父节点 d44016276f
当前提交 545b860bc4
共有 2 个文件被更改,包括 14 次插入2 次删除

14
Jenkinsfile vendored
查看文件

@ -40,7 +40,17 @@ pipeline {
stage('Resolve Build Plan') { stage('Resolve Build Plan') {
steps { steps {
script { script {
switch (params.APP) { // 两个独立 Jenkins job 共用一份流水线,job 名是部署目标的权威来源;
// 只有通用/手工 job 才读取 APP 参数,避免 ops job 首次加载参数时误发 tenant。
def jobName = env.JOB_NAME.tokenize('/').last()
def resolvedApp = jobName == 'xuqmgroup-tenant-web'
? 'tenant-platform'
: jobName == 'xuqmgroup-ops-web'
? 'ops-platform'
: params.APP
echo "Job: ${env.JOB_NAME} → APP=${resolvedApp}"
switch (resolvedApp) {
case 'tenant-platform': case 'tenant-platform':
env.IMAGE_NAME = 'tenant-web' env.IMAGE_NAME = 'tenant-web'
env.DOCKERFILE = 'Dockerfile.tenant' env.DOCKERFILE = 'Dockerfile.tenant'
@ -56,7 +66,7 @@ pipeline {
env.BUILD_ARGS = '--build-arg OPS_APP_BASE=/ --build-arg OPS_API_BASE_URL=/api' env.BUILD_ARGS = '--build-arg OPS_APP_BASE=/ --build-arg OPS_API_BASE_URL=/api'
break break
default: default:
error("Unsupported APP: ${params.APP}") error("Unsupported APP: ${resolvedApp}")
} }
// 自动递增版本号(与后端 Jenkinsfile 保持一致) // 自动递增版本号(与后端 Jenkinsfile 保持一致)

查看文件

@ -188,3 +188,5 @@ location /api/ {
Windows Jenkins 节点通过 `jenkins-ssh-key` 私钥凭据生成构建期临时 Windows Jenkins 节点通过 `jenkins-ssh-key` 私钥凭据生成构建期临时
`git-ssh.cmd` 执行版本提交推送,作用域结束后立即删除该脚本。 `git-ssh.cmd` 执行版本提交推送,作用域结束后立即删除该脚本。
`xuqmgroup-tenant-web``xuqmgroup-ops-web` 共用 Jenkinsfile 时,以 job 名确定
构建目标;`APP` 参数仅供其它通用手工 job 使用,避免首次加载参数时误发另一应用。