gpt4 book ai didi

Jenkins 电子邮件发送远程服务器 cucumber 报告

转载 作者:行者123 更新时间:2023-12-04 08:53:56 27 4
gpt4 key购买 nike

我有一个要求让我解释一下场景,

  • 他们是 COMPUTER-A(Jenkins 服务器),我们通过它触发管道构建
  • 第一步,它将在 vlab 机器中创建 VM (COMPUTER-B) 并获取 IP
  • 第二步 它将通过下面的 ssh 在 COMPUTER-B 中执行 testsuites.sh 是伪代码
    steps {
    script {
    sh """
    ssh -i id_rsa -o StrictHostKeyChecking=no ${USER}@${env.IP} "nohup /home/testsuites.sh > foo.out 2> foo.err < /dev/null & "
    """
    }
    }

    该脚本在后台“mvn clean test”中运行,它将运行所有测试用例并在构建结束时生成 cucumber 报告。

    直到这个工作正常。

    由于它在后台运行 jenkins 作业将不会等待并进入下一阶段
  • 第三步 Jenkins Server COMPUTER-A 将发送成功邮件

  • 现在的要求是一旦构建成功,我需要通过另一封邮件发送 cucumber 测试报告。如何通知 COMPUTER-A 中的 jenkins 作业(因为它已经完成)发送带有远程服务器 COMPUTER-B 中的 cucumber 报告文件的邮件。

    我可以运行 Jade 米作业来检查构建成功,但如何通知 Jenkins 发送带有 cucumber 测试报告的电子邮件。

    最佳答案

    你需要的是安静期

    node {
    build job: 'FetchCucumberReport',
    quietPeriod: 60,// in secs -->1min
    wait: false
    }

    那么上面的代码所做的就是触发 FetchCucumberReport 1 分钟后作业。如果您大致知道测试用例完成所有任务需要多长时间(比如 4 小时),然后设置 quietPeriod:14400 (秒),它将在 4 小时后触发构建。

    更新
    您将不得不查看 API 调用 https://wiki.jenkins.io/display/JENKINS/Remote+access+API

    一个例如
    curl -X POST -u user:password http://localhost:8080/job/FetchCucumberReport/build

    希望能帮助到你 :)

    关于 Jenkins 电子邮件发送远程服务器 cucumber 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221560/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com