From 657f3553d85b86cbe206ae8e4d9faf7e8277a04a Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 22 Aug 2026 17:55:50 +0800 Subject: [PATCH] fix(ci): retain service source workspaces --- Jenkinsfile.service | 10 +++++----- scripts/test-environment-pipeline-contract.test.mjs | 11 +++++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile.service b/Jenkinsfile.service index 7f8c620de..92815a1c9 100644 --- a/Jenkinsfile.service +++ b/Jenkinsfile.service @@ -154,11 +154,6 @@ pipeline { } } } - post { - always { - cleanWs(deleteDirs: true, notFailBuild: true) - } - } } stage('部署开发或测试环境') { @@ -191,6 +186,11 @@ pipeline { } } } + post { + always { + cleanWs(deleteDirs: true, notFailBuild: true) + } + } } stage('部署单个服务') { diff --git a/scripts/test-environment-pipeline-contract.test.mjs b/scripts/test-environment-pipeline-contract.test.mjs index 164a2db37..f59c35877 100644 --- a/scripts/test-environment-pipeline-contract.test.mjs +++ b/scripts/test-environment-pipeline-contract.test.mjs @@ -65,7 +65,18 @@ test('Java service images use the internal registry base image by default', () = }) test('source workspaces are preserved for incremental Git fetches', () => { + const buildStage = pipeline.slice( + pipeline.indexOf("stage('构建并发布单服务')"), + pipeline.indexOf("stage('部署开发或测试环境')") + ) + const directDeployStage = pipeline.slice( + pipeline.indexOf("stage('部署开发或测试环境')"), + pipeline.indexOf("stage('部署单个服务')") + ) + assert.match(pipeline, /checkout scm/) + assert.doesNotMatch(buildStage, /cleanWs\(/) + assert.match(directDeployStage, /cleanWs\(/) assert.equal((pipeline.match(/cleanWs\(/g) ?? []).length, 2) assert.doesNotMatch(coordinatorPipeline, /cleanWs\(/) })