Jenkins使用过程中,大部分Job的第一项就行从源码库里签出代码。由于git越来越流行,所以,稍微新一些的项目的源码管理都是基于git的。对应的,jenkins的git plugin几乎是大部分jenkins用户都绕不过去的一个插件。在这里,我要跟大家说一个非常悲催的事情,这个插件质量不怎么高:看一下 它开着的bug列表你就会发现,永远都有200个左右的bug是打开的。因此,我们使用的时候,会遇到各种各样的小坑。

随便说4个常见小坑:
1.会突然卡死,没有任何提示。
2.各种莫名其妙的错误提示,无从下手。
3.权限问题
4.ssh问题
5.大项目签出timeout问题。

碰上这些问题,一般可以遵从如下步骤解决:
1.查看log中,git执行了什么样的指令,去对应的slave机本地执行,然后看看是不是可以走得通,如果能够走得通,8成是环境变量设置和权限问题。
2.google对应的英文提示。注意,一定是 google英文提示 ,stackoverflow上有数千个jenkins问题,大部分有很好的答案,但是百度是搜不到的。
3.顺藤摸瓜找到问题,并解决。
上边的步骤能够帮助你解决99%的问题。

这里举几个小例子:

repository url 设置的时候提示没有访问权限。

  1. 登录到master和slave机上看(必须两者都看)是否有同样的错误。
  2. 如果没有同样的错误,查看启动jenkins的用户和ssh登录用户是否一致,如果不一致,两个用户权限(包含ssh免密登录权限)是否相同。
  3. 权限相同,免密一样,还是提示权限问题。这时候需要在master/slave机的ssh链接上联一下git终端。这时候会有一个步骤:将git服务器放到known_host,需要手工确认,手工确认以后,git插件不再提示权限问题。(这个例子就是一个典型的git 插件设计不足造成的)

timeout问题

有时候一个git库很大,网络条件不好的时候,总会超时下不下来。有两个方法可以解决这个问题。

  1. 把jenkins的全局超时时间设置长一些。
    2.用命令行直接在slave机上clone,这样后续就都是增量,不会超时了。

最后,如果你搜遍了google,并且死磕以后发现是插件bug,并且最新版本也没有修复,并且绕不开。记得给他们提一个issue
这是git plugin 的主页 https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Bugs

最新文章

  1. 使用idea debug多线程
  2. [歪谈]我们该怎么正确面对"批评"
  3. Javascript函数、构造函数、原型、类和对象
  4. 【转】MySQL5安装的图解(mysql-5.0.27-win32.zip)
  5. Android EditText属性
  6. 9月1日,请记得备好名片来PechaKucha Night和大家“闲聊” | Hi!设计
  7. MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
  8. 关于c# SESSION丢失问题解决办法
  9. echarts-五分钟的教程
  10. Vue常规后台系统,路由懒加载实现基于菜单数据并解耦
  11. Java+selenium之WebDriver的cookie,等待等高级操作(五)
  12. debian系列下c++调用mysql, linux下面安装mysql.h文件
  13. ayit-#41. 因数的个数-数论
  14. 【Android端 adb相关】adb相关总结
  15. swift能干什么,不能干什么及相关概念
  16. SpringBoot集成jdbcTemplate/JPA
  17. springboot入门(一)--快速搭建一个springboot框架
  18. 53. Maximum Subarray最大求和子数组12 3(dp)
  19. subltime快捷键
  20. Error:(1, 1) java: 非法字符: ‘\ufeff’

热门文章

  1. JavaScript 正则表单验证(用户名、密码、确认密码、手机号、座机号、身份证号)
  2. java线程详细版(未完待续)
  3. 计算时间 相加,相减 的方法,TimeSpan 数据转换
  4. linux下安装mysql并修改密码
  5. POJ-1509 Glass Beads---最小表示法模板
  6. process launch failed: Security
  7. java.util包中 Set 和 List 的区别
  8. 关于Java的反射机制,你需要理解这些..
  9. JQuery 过滤选择器 与属性修改的方法演示比较
  10. Python——列表