Я параллельно обрабатываю integration
и unit
тесты. Оба они генерируют отчеты JUnit и Code Coverage в каталоге target
. Имя тайника для каждого из них tests-build
, а также включены ресурсы.
stage('Tests Execution') {
parallel {
stage('Execute Unit Tests') {
steps {
dockerExecuteBuildStage([ stageName: "unit-tests", dockerTargetDir: "/opt/build/target",
stashIncludesPattern: "**/target/*", stashName: "tests-build"])
}
}
stage('Execute Integration Tests') {
when {
expression { config.load().idpsIsEnabled == false }
}
steps {
script {
config.concurrentStash("tests-build", "intuit-paas-update.yml")
}
dockerExecuteBuildStage([ stageName: "integration-tests", dockerTargetDir: "/opt/build/target",
stashIncludesPattern: "**/target/*", stashName: "tests-build"])
}
}
}
}
Учитывая, что они будут выполняться параллельно и будут использовать Jenkins Stash
для временного хранения отчетов для последующей обработки, я получаю следующее поведение:
Вопросы
- Можно ли хранить файлы слияния при параллельном выполнении?
- есть ли способ объединить файлы из 2 параллельного хранилища? если имена не совпадают?
Поведение
- В ветке я получил
Safe stashing paas-update.yml in faf7dfb5d4a66b14d5acdae4c46a8b8771b57beb-tests-build...
- В другой ветке я получил
Warning: overwriting stash ‘faf7dfb5d4a66b14d5acdae4c46a8b8771b57beb-tests-build' Stashed 5 file(s)