Thanks for the reply aleksisimell, I am still a novice at Jenkins so can you elaborate how to I can use archiveArtifacts in my situation?
I use 2 nodes, a master and a slave. I am running Jenkins inside a docker container on port 8080 of my master built with CasC. Our slave is another computer (off the network) that runs our robot files in a specific directory using a declarative pipeline.
This is in the post section of my pipeline:
node('slave') {
robot(
disableArchiveOutput: false,
outputPath: '/home/user/robot/tests/results',
logFileName: 'log.html',
outputFileName: 'output.xml',
reportFileName: 'report.html',
passThreshold: 100,
unstableThreshold: 90.0
)
}
Now this stores the log.html and report.html in http://localhost:8080/job/test-robot/1/robot/report/report.html
If you click the open log.html file it will direct you to a new webpage that calls a GET RESTapi to the link above which of course returns a 404 not found.
My first question please would be, does archiveArtifacts create a sort of symbolic link to container directory? Is there some sort of backend running in Jenkins that creates this link?
And second if you don't mind I am also having issues with using the archiveArtifacts command.
Adding "archiveArtifacts artifacts: 'build/*.html', fingerprint: true" does not work. And neither does putting the full path to our results directory work. How should I call this command if my results are in say /home/user/robot/tests/results.
Hi,
As a workaround you can use archiveArtifacts to copy the report and log files from the container to your builtin node (master) and then use the robot plugin normally to have the log files available in Jenkins. Just be sure to have some log retention policy in place, so that your builtin node is not overfilled with old log files.