refactor(executeFreeleapsPipeline): restore conditional execution for build and dependencies stages based on executeMode and changed components

Signed-off-by: 孙振宇 <>
This commit is contained in:
孙振宇 2025-02-04 12:38:48 +08:00
parent 37ccf1e6fd
commit 9bcd494018

View File

@ -110,48 +110,34 @@ spec:
return env.executeMode == "fully" || env.changedComponents.size() > 0 return env.executeMode == "fully" || env.changedComponents.size() > 0
} }
} }
steps { steps {
script { script {
configurations.components.each { component -> configurations.components.each { component ->
stage("${component.name} :: Build Agent Setup") { stage("${component.name} :: Build Agent Setup") {
// when { if (env.executeMode == "fully" || env.changedComponents.contains(component.name)) {
// expression { def buildAgentImage = component.buildAgentImage
// return env.executeMode == "fully" || env.changedComponents.contains(component.name) if (buildAgentImage == null || buildAgentImage.isEmpty()) {
// } log.warn("Pipeline","Not set buildAgentImage for ${component.name}, using default build agent image")
// }
steps { def language = ServiceLanguage.parse(configurations.serviceLang)
script { switch(language) {
def buildAgentImage = component.buildAgentImage case ServiceLanguage.PYTHON:
if (buildAgentImage == null || buildAgentImage.isEmpty()) { buildAgentImage = "python:3.10-slim-buster"
log.warn("Pipeline","Not set buildAgentImage for ${component.name}, using default build agent image") break
case ServiceLanguage.JS:
def language = ServiceLanguage.parse(configurations.serviceLang) buildAgentImage = "node:lts-alpine"
switch(language) { break
case ServiceLanguage.PYTHON: default:
buildAgentImage = "python:3.10-slim-buster" error("Unknown service language")
break
case ServiceLanguage.JS:
buildAgentImage = "node:lts-alpine"
break
default:
error("Unknown service language")
}
log.info("Pipeline","Using ${buildAgentImage} as build agent image for ${component.name}")
env.buildAgentImage = buildAgentImage
} }
log.info("Pipeline","Using ${buildAgentImage} as build agent image for ${component.name}")
env.buildAgentImage = buildAgentImage
} }
} }
}
stage("${component.name} :: Dependencies Resolving") { stage("${component.name} :: Dependencies Resolving") {
// when {
// expression {
// return env.executeMode == "fully" || env.changedComponents.contains(component.name)
// }
// }
agent { agent {
kubernetes { kubernetes {
defaultContainer 'dep-resolver' defaultContainer 'dep-resolver'
@ -177,26 +163,24 @@ spec:
""" """
} }
} }
if (env.executeMode == "fully" || env.changedComponents.contains(component.name)) {
def language = ServiceLanguage.parse(component.language)
steps { def depManager = DependenciesManager.parse(component.dependenciesManager)
script {
def language = ServiceLanguage.parse(component.language)
def depManager = DependenciesManager.parse(component.dependenciesManager) def dependenciesResolver = new DependenciesResolver(this, language)
dependenciesResolver.useManager(depManager)
def dependenciesResolver = new DependenciesResolver(this, language) if (component.buildCacheEnabled) {
dependenciesResolver.useManager(depManager) dependenciesResolver.enableCachingSupport()
} else {
if (component.buildCacheEnabled) { dependenciesResolver.disableCachingSupport()
dependenciesResolver.enableCachingSupport()
} else {
dependenciesResolver.disableCachingSupport()
}
sourceFetcher.fetch(configurations)
dependenciesResolver.resolve(configurations)
} }
sourceFetcher.fetch(configurations)
dependenciesResolver.resolve(configurations)
} }
} }
} }
} }