From 00063babb9724135cc506724e18474c6099c71c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=8C=AF=E5=AE=87?= <> Date: Tue, 4 Feb 2025 12:48:46 +0800 Subject: [PATCH] refactor(DependenciesResolver): pass workspace parameter to DependenciesResolver and update directory references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙振宇 <> --- .../com/freeleaps/devops/DependenciesResolver.groovy | 11 ++++++----- first-class-pipeline/tests/Jenkinsfile | 1 + .../vars/executeFreeleapsPipeline.groovy | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/first-class-pipeline/src/com/freeleaps/devops/DependenciesResolver.groovy b/first-class-pipeline/src/com/freeleaps/devops/DependenciesResolver.groovy index 39abdc47..a450cdba 100644 --- a/first-class-pipeline/src/com/freeleaps/devops/DependenciesResolver.groovy +++ b/first-class-pipeline/src/com/freeleaps/devops/DependenciesResolver.groovy @@ -7,8 +7,9 @@ class DependenciesResolver { def language def cachingEnabled def mgr + def workspace - DependenciesResolver(steps, language) { + DependenciesResolver(steps, language, workspace) { this.steps = steps this.language = language } @@ -53,13 +54,13 @@ class DependenciesResolver { def packageJsonFile = configurations.npmPackageJsonFile if (cachingEnabled) { - steps.dir(steps.env.workspace) { + steps.dir(workspace) { steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.npm-cache']]) { steps.sh "npm install --cache .npm-cache" } } } else { - steps.dir(steps.env.workspace) { + steps.dir(workspace) { steps.sh "npm install" } } @@ -73,13 +74,13 @@ class DependenciesResolver { def packageJsonFile = configurations.yarnPackageJsonFile if (cachingEnabled) { - steps.dir(steps.env.workspace) { + steps.dir(workspace) { steps.cache(maxCacheSize: 512, caches: [[$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '.yarn-cache']]) { steps.sh "yarn install --cache-folder .yarn-cache" } } } else { - steps.dir(steps.env.workspace) { + steps.dir(workspace) { steps.sh "yarn install" } } diff --git a/first-class-pipeline/tests/Jenkinsfile b/first-class-pipeline/tests/Jenkinsfile index acc4b8df..8fe7c23c 100644 --- a/first-class-pipeline/tests/Jenkinsfile +++ b/first-class-pipeline/tests/Jenkinsfile @@ -14,6 +14,7 @@ executeFreeleapsPipeline { root: 'frontend', language: 'javascript', dependenciesManager: 'npm', + npmPackageJsonFile: 'package.json' buildAgentImage: 'node:lts-alpine', buildCacheEnabled: true, buildCommand: 'npm run build', diff --git a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy index e86b0278..3d22d2f9 100644 --- a/first-class-pipeline/vars/executeFreeleapsPipeline.groovy +++ b/first-class-pipeline/vars/executeFreeleapsPipeline.groovy @@ -168,7 +168,7 @@ spec: def depManager = DependenciesManager.parse(component.dependenciesManager) - def dependenciesResolver = new DependenciesResolver(this, language) + def dependenciesResolver = new DependenciesResolver(this, language, env.workspace + "/" + component.root + "/") dependenciesResolver.useManager(depManager) if (component.buildCacheEnabled) {