1,背景 

  因为需要并且自己有兴趣所以学习jenkins这么一个持续集成工具,简单来说jenkins是一个广泛用于持续构建的可视化web工具,持续构建直白点就是各种项目的自动化"打包,打包,上线部署".jenkins很好的支持这一点,jenkins自身是java开发的,但是他很好的支持各种语言(java,python,php等),支持很多第三方插件,和git和SVN能够无缝集成。

 2,安装

  jenkins支持Linux的各个发行版,ubuntu(16.04)上既支持war包这种方式,也可以支持deb这种方式,jenkins的官方地址https://jenkins.io/index.html,进去后我们选择ubuntu/Debian的

  ubuntu安装jenkins上遇到的坑_第1张图片

   这里deb https://pkg.jenkins.io/debian-stable binary/ 这里是http协议,不是https协议,这个切记,否则是失败的。有图有真相,这是Chrome抓到的,我们可以看到走的是http协议

   ubuntu安装jenkins上遇到的坑_第2张图片

   3,完了后开始apt-get install jenkins,这时候系统会自动解决依赖关系,因为jenkins是java语言的,所以肯定会依赖安装jdk的,但是jenkins安装时,系统自己解决依赖的却是openjdk,当时也没太在意,至于openjdk和sun的jdk有什么却别,这个不是本文讨论的,而且我自身也不是做java后台开发的,这个如果感兴趣可以自行google或者百度。

   4,安装完成好了后,我们可以启动jenkins服务,/etc/init.d/jenkins start ,使用netstat -tunlp 我们可以看到他是监听在8080端口,使用浏览器访问http://IP:8080。就会跳转到我们的登录界面,然后按照提示一步一步的安装,安装插件的时候,那些是默认需要安装的,这个过程中有些插件我们可能安装不上,这个就要感谢我们"伟大的"方滨兴教授了,他的防火墙就不多说了,我们登陆进去后进入系统管理界面,点击进入管理插件,选择高级,里面选择我们代理服务器的地址来安装未成功的插件,或者直接拨通×××安装插件。

   ubuntu安装jenkins上遇到的坑_第3张图片

 3,问题遗留

 我自己的仍然没有解决,像pipline,git这样的hpi文件(插件)仍然安装不上,不管使用什么方法,没办法了,我自己猜测可能就是使用openjdk导致的吧,姑且这么认为吧。没办法了那就重新换种方法来安装吧。

 这次我将deb包直接下载下来,然后安装jdk配置java的环境变量,我的deb包是在windows上下载的,然后拷贝到linux上的,使用dpkg -i命令安装,但是显示下图的错误

 ubuntu安装jenkins上遇到的坑_第4张图片

百度了下,说是这是包不完整导致的,自己看了下大小发现一样的啊,怎么可能包不完整,于是在windows和linux上作了一次md5校验,结果发现还真不一样,第一大坑。然后重新下载完整的包,安装时又提示我依赖于openjdk,这个我也没办法了,就不使用这种方法了。

  因为jenkins这个官方提供的不但有deb这种包还有war这种包,deb的不行了,我们试试war包安装了,首先war包安装我们,我们去jdk的官网下载安装,下载完成后解压到相应目录,记得做环境变量的配置。

  1,war包安装我们可以使用命令java -jar jenkins.war这种方式,这个我没有试验过,不知道会不会有什么问题

  2,使用tomcat来跑我们的war包,这种简洁方便的多了,安装tomcat就不多说了,网上一抓一大把,然后把jenkins.war放到tomcat的webapps目录里面去

  然后启动tomcat,这次访问http://IP:8080/jenkins,进入安装jenkins的页面了,安装步骤一步步安装,到安装插件那一步仍然会提示很多插件安装不上,这个一方面和自己的网速有关,另一方面就是我们的防火墙了,最后登陆进去后进入系统管理界面,和最开始的一样,使用代理或者拨通×××来安装,也可以自己下载哪些hpi文件,自己上传,但是这样做有弊端,这个很多插件之间存在依赖关系,自己上传插件解决不了依赖问题。多重复试几次,每次安装成功或者失败后,重启jenkins,然后插件是否提示有插件未安装,直到需要的插件安装成功