Jenkins从远程测试pc发布junit xml
当我使用pytest在Jenkins的同一个盒子上运行测试时,我可以发布JUnitXML报告。它工作得很好 现在我正在Jenkins发起的远程测试pc上运行pytest。它运行一系列python测试并在远程测试pc上生成junit xml报告。我遇到的难题是如何将这些junit xml报告推回到JenkinsJenkins从远程测试pc发布junit xml,jenkins,junit,pytest,Jenkins,Junit,Pytest,当我使用pytest在Jenkins的同一个盒子上运行测试时,我可以发布JUnitXML报告。它工作得很好 现在我正在Jenkins发起的远程测试pc上运行pytest。它运行一系列python测试并在远程测试pc上生成junit xml报告。我遇到的难题是如何将这些junit xml报告推回到Jenkins 测试PC是Windows 10。我目前通过powershell命令远程启动测试,以启动pytest。我在远程测试pc上没有Jenkins从属代理。下面是一个使用stash/unstash将
测试PC是Windows 10。我目前通过powershell命令远程启动测试,以启动pytest。我在远程测试pc上没有Jenkins从属代理。下面是一个使用stash/unstash将文件从一个节点复制到另一个节点的示例。文件'foo.jar'在源系统上位于'/tmp'中,在目标系统上最终位于'/tmp'中
stage ('Stash file on node 1') {
node ('node1') {
dir ('/tmp') {
stash name: 'TestTransfer', includes: 'junit.xml'
}
}
}
stage ('Unstash file on node 2') {
node ('node2') {
dir ('/tmp') {
unstash 'TestTransfer'
}
}
}
下面是一个将文件从节点1复制到主节点的示例,然后将其作为工件存档,以便您可以在作业完成后查看它或从GUI下载它
stage ('Stash file on node 1') {
node ('node1') {
dir ('/tmp') {
stash name: 'TestTransfer', includes: 'junit.xml'
}
}
}
stage ('Unstash file on master') {
node () {
// By default, goes to the workspace.
// If you want to go to a directory, wrap in 'dir'
unstash 'TestTransfer'
archiveArtifacts artifacts: '*'
}
}
您应该指定这些PC上的操作系统。有很多问题,但有安全问题。您可能必须使用基于操作系统的实用程序。如果您使用的是Jenkins 2和管道,则可以通过
stash/unstash
功能在主设备和从设备之间复制文件。我使用测试pc上安装的操作系统更新了我的问题