Jenkins stash 不会隐藏所有文件和文件夹

Ars*_*sen 6 jenkins

我有 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 文件夹不存在。

难道我做错了什么?

Mic*_*ael 5

我想这*仅包括当前目录中的文件。在这种情况下**应该可以解决问题,因为它也匹配路径分隔符。

同样在您的代码中,您unstash位于与执行不同的目录中ls。我没有看到该dir命令的任何原因,因此我建议将其删除。