Дженкинс заначка не прячет все файлы и папки - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть Jenkinsfile, я пытаюсь спрятать BuildApp и распакуйте его в другой докер-контейнер для запуска теста 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()}"
  }

Вот где я пытаюсь спрятаться, и я сделал отладку с помощью "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: "*"
  }

Я сделал "ls -la $ {pwd ()}" и вижу, что там нет папки node_modules.

Я что-то не так делаю?

1 Ответ

0 голосов
/ 15 сентября 2018

Я предполагаю, что * включает только файлы в текущем каталоге.В этом случае ** должен добиться цели, так как он также соответствует разделителям пути.

Также в вашем коде вы unstash находитесь в другом каталоге, чем вы выполняете ls.Я не вижу причин для команды dir, поэтому предлагаю удалить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...