我遇到的 一些 Jenkins 问题 杂谈

胡乱杂想

拿到一个任务之前,首先要想明白如何构建Job,测试代码和目标代码是什么关系。测试的数据,比如测试数据需要调用目标代码入口,继而产生我们的测试数据。比如开发提交代码后,每次就自动部署到QA环境,这种情况你只要去取数据,还有考虑什么时候出发测试。

 

在和github打交道时候,我们会pull代码,这个时候需要有合法的账号,或者sshpublic key。\

想要jenkins能收到githubeven,必须将jenkins的接收时间的入口配置到githubwebhook上免。并且在测试通过。通常情况下web hook会用ping去测试,但是有的jenkins会禁掉ping事件,所以建议用push event测试

 

邮件的设置,如果所有的环境对你是透明的,这里的意思是,环境你可以修改,比如防火墙,网络通信,端口等。这个时候很简单,保障邮件SMTP服务器和你的reception邮箱是通的就好。但是大公司的网络都是黑盒的,所以邮件不通的时候,一定问清楚什么网段的环境要用什么样的账号,别浪费时间去debug了,大公司这些都是章程。他们的邮箱一般都是内部邮箱,都免验证的。

 

如果你用别人的jenkins,自己都没权限ssh上去,那么遇到问题就会多了。比如我遇到pull代码的时候,没权限往公共repository里面下载依赖包。折腾好久,最后在mvn build的高级选项里面勾选用私有的repository。如果你能ssh上去,那不是直接修改文件或者用户权限就OK了。

 

有的时候想调用java里面的main方法,网上最推荐的是用mojo插件,条用exec.java

当你classpath很复杂的时候,这个插件不一定能保证工作,我的就不可以,最好的情况,你将main方法放在test里面调用,maven帮你搞定一切环境。

 

定制测试报告邮件也是个头更的事情。自带的不能定制出好的模板,用email-ext很强大,但是我遇到一个奇葩的问题。我建立的maven项目,模板里面总是读不到testActionReuslt,添加publish junit test result构建。建立maven job,话说maven默认就是用junit做测试的,它和junit集成的很好,maven知道测试报告就在tareget下面。但是奇葩的事情是,不设置目标report,就生成不了报告。但是mavenjob又没有配置的地方,因为maven应该知道,所以jenkins就没这个选项让你配置。我折腾的要死。后来想算了,删掉job,重新建立一个customizejob,手动选择buildmaven,这样终于可以配置report的路径。下面故事也就结束了,测试结果里面正确显示,多少pass,多少failed

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值