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

时间:2018-06-20 16:41:14

标签: jenkins continuous-integration gitlab jenkins-plugins jenkins-pipeline

设置: 我拥有的1台Jenkins服务器和1台gitlab服务器

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

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

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

参考文献: 这些是我们提到的链接,但是作为詹金斯的新手无法提出明确的解决方案。 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/

1 个答案:

答案 0 :(得分:0)

使用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脚本。