持续集成这个词大家应该都不陌生,同时Jenkins 这个工具肯定也是非常耳熟了,但是对于以前做php运维(不需要进行代码编译)方面工作的朋友对JAVA等项目的编译可能就不了解了,而持续集成说的这么高大上,其实也就是为了把源代码从Git或者SVN仓库里面拖下来,使用一个工具(如Jenkins)通过配置文件把代码编译出来,如Java项目经常就编译打包为war包或者zip包等等,编译完成后再推送到对应的服务器上进行发布。这就是我理解的持续集成的功能。
下面简单记录下最最常用的持续集成工具—-Jenkins
以上这些基本环境就不多说了,嫌麻烦可以选择采用一键安装包 《 OneinStack 》 进行安装,当然弄完了最好根据需求调整下相应配置。
Jenkins 有多种安装方式,centos上可以采用rpm包安装,war包,docker等等 Jenkins 官方下载 ,本文采用tomcat部署war包方式。
出于安全考虑,个人部署的服务器基本都不会用root用户运行tomcat 等中间件服务(血的教训),所以调整下tomcat的启动用户。
这里指定一个tomcat 跑Jenkins ,所以直接新建一个Jenkins用户。
[root@jenkins ~] useradd jenkins
[root@jenkins ~] chown jenkins.jenkins -R /usr/local/tomcat_jenkins
#如果用oneinstack一键安装的tomcat那么改动下/etc/init.d/tomcat 脚本中的TOMCAT_USER=jenkins 即可,如果自己安装的tomcat并未制作启动脚本,就需要使用su username -c 来启动:
[root@jenkins ~] su jenkins -c /usr/local/tomcat_jenkins/bin/startup.sh
如果直接用root用户运行的tomcat 就无需以上步骤了。
由于采用war包部署,把war包放到tomcat的webapps目录下即可自动解压部署(autoDeploy=”true”),然后浏览器访问http://yourIPaddr:8080/jenkins/ 就会看到Jenkins初始化界面,要求在服务器上打开这个文件获取初始密码。
进入系统设置的时候居然有提示“反向代理设置有误”和“Your container doesn’t use UTF-8 to decode URLs. ……”的提示,不知道是不是这个版本问题,反向代理那个直接放弃了,关于UTF-8这里我核实了tomcat配置文件中已经设置了URIEncoding=”UTF-8″ ,同时也并不影响中文的显示,就没有过多去查这个问题了。
新装好的Jenkins 只有简单的功能,如Git库代码获取,框架构建这些功能都需要单独添加插件。
通过【系统管理】-【管理插件】-【可选插件】即可获取相应的功能插件,这里我只需要能够访问Git库,通过maven 打包Java代码,再使用ansible推送 几个功能,所以选择安装Ansible plugin ,Git plugin ,Maven Integration plugin 即可。
插件安装好后在新建项目页面就可以看到已经增加了maven项目。