目录 BACKGROUND INVESTIGATION I 1. 连续触发的相同 job 构建不会重复入队 2. 连续触发的不同 job 构建会各自入队 3. 参数变动的相同 job 构建将分别入队 4. 允许同时触发构建将有数据错乱的可能 5. 分布式锁强制使得入队或构建触发串行化不可行 INVESTIGATION II FUTHER MORE SUMMARY leoninew 原创,转载请注明来自博客园 BACKGROUND 使用 jenkins rest api 触发的 job 会先进入任…
每当jenkin在构建之后我们想把构建结果SUCCESS/FAILURE或者其他信息通知给其他人,也许有人会说,不是有邮件提醒吗?但是我这里的环境邮件提醒的话所被通知者并不会第一时间去阅读,所以我们用“钉钉”,“企业微信”来第一时间去通知你想通知的小伙伴们. 因为我这里的环境用的是企业微信所以本文都是基于企业微信来说的,不过在钉钉上也可以使用,也可以利用钉钉在jenkins上的插件,那样更方便些. 进入正题 我们要获得jenkin的构建结果是SUCCESS还是FAILURE是需要jenkin构建…
背景:在通过python的API调用Jenkins,启动Jenkins的job任务时,是需要知道Jenkins的编译状态,获取编译状态为 status=server.get_build_info(jobname, get_number2)['result'] #jobname,为任务的job名称,get_number2为编译版本号 目前是以前项目中截取的代码,我连接Jenkins是用了两种方式,因为有一种方式不能进行编译job,另外一种获取其他数据有问题,也是一直存在的bug def conne…
需求背景: 现在用jenkins构建自动化测试(2个job),公司现将自动化纳入到发布系统 要求每次构建成功之后,把测试结果发送给发布系统.这就需要先获取jenkins构建的结果,如果构建结束,才能发送测试结果,否则就要等待jenkins构建结束. 理解回调函数: 像这样类似:男女朋友约会结束,男方要求女方到家后发1个信息,告诉他安全到家了.就是python回调函数的应用场景.男女朋友约会结束是在主函数mainfunc中,女朋友回家这个动作由callback函数完成. 在mainfunc函数中,…
目录 jira中issue状态的改变触发Jenkins构建 jira中定制新的workflow,作为jenkins发布使用流程 大家可以参考我的这个workflow 设置workflow 使用Transitions的条件 企业环境使用jira提交发布申请 开发申请,运维发布 开发只可以提交申请,不可以发布 jira中issue状态的改变触发Jenkins构建 大体的步骤参考 jira中issue状态的改变触发Jenkins构建 jira中定制新的workflow,作为jenkins发布使用流程…
在我的这篇博文中:使用jenkins+sonar进行代码扫描,并发送自定义邮件 邮件的配置为默认的$PROJECT_DEFAULT_SUBJECT 所以发送的邮件标题中的状态是jenkins构建的状态 但是真正有意义的是sonar执行后的状态,就是这个 所以需要将之前博文的sonar.py略作修改,如下 # 新增引进requests和json库 import pymysql,os,sys,requests,json from jinja2 import FileSystemLoader,Envi…
最近要开发1个接口,接收到1个指令后自动触发自动化测试,虽然也可以通过shell命令做这一步,但因为目前所有构建自动化的的动作都通过jenkins完成,所以想要尝试能不能用python去控制jenkins构建job.还真有!万能的python.想起来一句话,有趣的事,python永远不会缺席! 通过jenkins-python实现在后台操作jenkins构建job,只需要5步,并且前面4步都是简单的配置,用python代码实现操作也只有不到20行代码,很简单 step1:在jenkins中创建1…
实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1.9(Jenkins插件) Generic Webhook Trigger Plugin 1.72(Jenkins插件) GitLab 1.5.13(Jenkins插件) 实现步骤 钉钉机器人配置 选择要推送的钉钉群 -> 点击群设置按钮 -> 点击智能群助手 -> 点击添加机器人 ->…
Jenkins在自动化构建服务的同时也在消耗服务器的磁盘空间,如果构建的项目个数很多,而Jenkins 服务器磁盘空间又不是非常大的话,每隔一段时间磁盘空间就会爆满导致,就会出现磁盘空间不足无法构建的后果.这时候就需要进行一定的手工干预才能恢复Jenkins的正常运作. 解决方案: 1.执行命令:df 查看哪个挂载点满了…
Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.这组缺陷模式是可配置的,通过配置,可以过滤掉一些我们不想或不需要检测的问题. findbugs在gradle中的配置 理论的部分就不多阐述了,我们直接来看看项目中怎么使用findbugs吧. 首先,在build.gradle引入findbugs插件 <code class="hljs bas…