diff --git a/Jenkinsfile b/Jenkinsfile index 389450309..34c3f882e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -152,11 +152,6 @@ pipeline { } } } - post { - always { - cleanWs(deleteDirs: true, notFailBuild: true) - } - } } stage('生产环境部署确认(仅 production 执行)') { diff --git a/Jenkinsfile.service b/Jenkinsfile.service index 28f98316e..7f8c620de 100644 --- a/Jenkinsfile.service +++ b/Jenkinsfile.service @@ -191,11 +191,6 @@ pipeline { } } } - post { - always { - cleanWs(deleteDirs: true, notFailBuild: true) - } - } } stage('部署单个服务') { diff --git a/scripts/controller-pipeline-contract.test.mjs b/scripts/controller-pipeline-contract.test.mjs index 7e0758505..5bf92b4ed 100644 --- a/scripts/controller-pipeline-contract.test.mjs +++ b/scripts/controller-pipeline-contract.test.mjs @@ -10,7 +10,7 @@ test('coordinator releases its builder while waiting for downstream jobs', () => assert.match(pipeline, /stage\('确定构建范围'\) \{[\s\S]*?agent \{ label 'java-builder' \}/) assert.match(pipeline, /agent \{ label 'java-builder' \}/) assert.doesNotMatch(pipeline, /agent any/) - assert.doesNotMatch(pipeline, /post \{\s*always \{ cleanWs[\s\S]*?\}\s*\}\s*\}\s*$/) + assert.doesNotMatch(pipeline, /cleanWs\(/) }) test('AUTO detects database migrations without expanding them to all services', () => { diff --git a/scripts/test-environment-pipeline-contract.test.mjs b/scripts/test-environment-pipeline-contract.test.mjs index 1389f920c..164a2db37 100644 --- a/scripts/test-environment-pipeline-contract.test.mjs +++ b/scripts/test-environment-pipeline-contract.test.mjs @@ -63,3 +63,9 @@ test('Java service images use the internal registry base image by default', () = assert.doesNotMatch(pipeline, /docker\.m\.daocloud\.io\/library\/eclipse-temurin/) assert.doesNotMatch(serviceDockerfile, /docker\.m\.daocloud\.io\/library\/eclipse-temurin/) }) + +test('source workspaces are preserved for incremental Git fetches', () => { + assert.match(pipeline, /checkout scm/) + assert.equal((pipeline.match(/cleanWs\(/g) ?? []).length, 2) + assert.doesNotMatch(coordinatorPipeline, /cleanWs\(/) +})