У меня есть Мастер (RHEL8) и подчиненная машина (Windows10). Я создал проект Multibranch pipeline по запросу Master и Trigger, весь процесс происходит в Slave. Я пытаюсь отправить отчеты HTML, которые создаются на подчиненной машине, но я получаю прикрепленный отчет, который уже существует в главном (/ var / lib / jenkins / workspace / PipelinesDemo), а не последний сгенерированный отчет на подчиненной машине (C: / JenkinsLocalNode / workspace / PipelinesDemo / e2e / src / test / reports / html /*.html)
pipeline {
agent none
stages {
stage('SCM Checkout'){
agent { label "LocalSlave" }
steps{
// Checkout Latest from SCM
checkout([$class: 'GitSCM', branches: [[name: '*/development']], deleting credentials......])
}
}
stage('Test') {
parallel {
stage('GUI Protractor Test'){
agent { label "LocalSlave" }
steps{
// UI Test using Protractor
bat 'call npm install'
bat 'protractor C:/JenkinsLocalNode/workspace/PipelinesDemo/e2e/src/main/config/config.js'
}
}
}
post{
always {
emailext attachLog: true,
mimeType: 'text/html',
body: '''${SCRIPT, template="groovy-html.template"}''',
subject: "Jenkins Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}", to: "TEMP@Test.com"
}
}
}
stage('Email Notification'){
agent { label "LocalSlave" }
steps{
emailext attachmentsPattern: "C:/JenkinsLocalNode/workspace/PipelinesDemo/e2e/src/test/reports/html/*.html",
mimeType: 'text/html',
body: '''${SCRIPT, template="groovy-html.template"}''',
subject: "Jenkins Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}", to: "TEMP@Test.com"
publishHTML([
allowMissing: false,
alwaysLinkToLastBuild: false,
includes: '**/*.html',
keepAll: false,
reportDir: "C:/JenkinsLocalNode/workspace/PipelinesDemo/e2e/src/test/reports/html/",
reportFiles: 'cucumber-reporter.html',
reportName: 'HTML Report',
reportTitles: 'PipelineReport'
])
}
}
}
}