为动态创建的 gitlab 存储库部署 jenkins 作业



>Setup: 我拥有的 1 台 Jenkins 服务器和 1 台 gitlab 服务器

预期用法: - 当用户注册我们的门户时,我们使用一些脚本为 gitlab 上的用户提供存储库。 - 一旦这些用户在存储库中提交了一些代码,我们必须对他们运行一些 junit 测试,并以干净的方式通过电子邮件向用户发送测试结果,他们可以通过适当的链接查看通过和失败的结果,他们可以单击这些链接以获取测试的详细信息。

詹金斯的要求: 1. 能够发送带有可点击测试结果链接的 html junit 测试结果 2. 根据 junit 测试是失败还是通过,调用两个不同的 python 脚本。

问题: 1. 满足 1 和 2 要求的最佳方法是什么 2. 我应该创建一个作业模板并为每个动态创建的存储库创建一个作业,还是可以使用同一个作业在多个存储库上运行测试

引用: 这些是我们提到的链接。但作为 Jenkins 的新手,他无法提出明确的解决方案。 1.https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin#Email-extplugin-Jellycontent 2.https://gist.github.com/nightspotlight/7cfa6af7c7989857f336f742cdcb443b 3.https://learn2automate.blog/2017/05/19/how-to-set-jenkins-job-status-based-on-test-case-pass/

使用 Jenkins 在邮件中发送一些链接很简单

  • 安装 https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin
  • 安装 https://wiki.jenkins.io/display/JENKINS/Build+With+Parameters+Plugin 以将作业公开为带有参数的链接
  • 在 jenkins 中创建一些作业,并在构建后部分添加可编辑的电子邮件通知

    [![enter image description here][1]][1]
    
  • "可编辑电子邮件通知的默认内容"中,必须编写将发送给用户的电子邮件正文。如果你的要求是发送一个链接以允许用户打开另一个 jenkins 页面,你可以写以下内容:

    In order to execute python scripts click in this link
    http://your-jenkins.com/job/my-job-python/parambuild/?param1=test1&param2=etc
    
  • 您的邮件提供商会将此文本呈现为 html。

最后,你需要创建一些名为my-job-python的作业,参数参数param1,param2或其他参数。当用户单击 jenkins 发送的电子邮件链接时,此作业将执行您的 python 脚本。

最新更新