我有 Jenkinsfile,我试图将 BuildApp 隐藏起来,然后将其解散到其他 docker 容器中以运行 npm 测试。但似乎缺少 node_modules,所以 npm 测试失败。
steps {
dir("/var/jenkins_home") {
unstash "app"
}
echo "Building app (CLOUD_ENV = ${env.CLOUD_ENV})"
sh 'yarn install'
stash name: "BuildApp", includes: "*"
sh "ls -la ${pwd()}"
}
Run Code Online (Sandbox Code Playgroud)
那就是我试图藏匿的地方,我用“ls -la ${pwd()}”进行了调试,我看到 node_modules 就在那里,但是当它们解除藏匿时
steps {
dir("/var/jenkins_home") {
unstash "BuildApp"
}
echo "Testing app (CLOUD_ENV = ${env.CLOUD_ENV})"
// unstash 'builtApp'
sh "ls -la ${pwd()}"
sh 'npm test > test.out'
archiveArtifacts artifacts: 'test.out', fingerprint: true
stash name: "testApp", includes: "*"
}
Run Code Online (Sandbox Code Playgroud)
我做了“ls -la ${pwd()}”,我可以看到 node_modules 文件夹不存在。
难道我做错了什么?
我想这*
仅包括当前目录中的文件。在这种情况下**
应该可以解决问题,因为它也匹配路径分隔符。
同样在您的代码中,您unstash
位于与执行不同的目录中ls
。我没有看到该dir
命令的任何原因,因此我建议将其删除。
归档时间: |
|
查看次数: |
8550 次 |
最近记录: |