一、概述
上一篇文章介绍了Jenkins结合svn来构建jar包,本文介绍另一种代码提交的方式git,并结合maven来构建代码包。
实验环境:
IP: 10.0.90.27 系统: Centos6.6 x86_64
软件包:
Jenkins 2.9 Tomcat 8.0.36 JDK 8.92 maven 3.3.9 git
二、安装步骤
1、安装jdk
#rpm -ivh jdk-8u92-linux-x64.rpm Preparing... ########################################### [100%] 1:jdk1.8.0_92 ########################################### [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar...
2、安装tomcat
#tar xf apache-tomcat-8.0.36.tar.gz -C /usr/local/ #cd /usr/local/ #ln -sv apache-tomcat-8.0.36 tomcat 启动 #cd tomcat #./bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started. 访问测试: 在浏览器输入http://10.0.90.27:8080,出现tomcat的默认网页,表示安装成功。
3、安装Jenkins(安装方式是直接解压到tomcat中)
将jenkins.war包拷贝的/usr/local/tomcat/webapps目录
然后再浏览器访问:
http://10.0.90.27:8080/jenkins/ 显示下面界面
根据提示从/root/.jenkins/secrets/initialAdminPassword文件中获取密码,然后继续,会看到如下界面:
然后就按照默认的选择(Install suggested plugins),继续下一步,会看到安装Plugin的界面:
安装Plugin的过程会花费一些时间,请耐心等待……
PS:如果一直处于安装状态(可能会因为网络原因,有些个Plugin安装不了),可以刷新一下浏览器,如果刷新之后提示你安装失败,你可以点击提示的“Retry”,继续。安装好Plugin之后,会让你创建一个admin用户,你可以自定义如下图:
也可以继续使用admin用户,如下红方框中的按钮(我这里是创建了一个普通的admin用户liguang):
创建好之后,点击“Save and Finish”按钮,会弹出如下页面:
然后点击 “Start using Jenkins”,就会看到安装好的Jenkins界面了
可以查看之前安装了哪些插件,哪些安装成功了,哪些没有安装成功,方法:“系统管理”--“管理插件”,会看到插件的界面,可以根据情况操作。
注意:假如你想使用svn来管理代码,但是svn插件没有安装,就会在创建的新项目进行配置的时候,“代码管理”设置部分显示为None,如下:
这个时候,你就需要安装svn插件了。
4、Jenkins安装插件
“系统管理”--“管理插件”--“可选插件”,然后在右上角的“过滤”长方框中输入svn,就会看到很多svn相关的插件,选择安装如下的插件即可:
选择“直接安装”或者“下载待重启后安装”都可以,我这里选择第二个,然后会看到如下界面,先是处于“等待”的状态,过一会儿就是“安装中”的状态。
安装好之后,提示如下图:
然后重新启动tomcat,刷新浏览器,再到“插件管理”查看svn的安装情况,如下表示安装成功:
PS:这时,在到test_app项目中的“源码管理”部分,就会看到“None”和“Subversion”都存在了!但是很多时候我们也会用到CVS或者git来拉取代码,所以需要安装这2个插件。安装CVS(CVS Plug-in)和git(Git plugin)插件,方法一样,需要重启tomcat生效,安装完成之后,在项目配置的时候,就可以看到了,如下:
这样就有4种方式进行源码的管理了!
5、查看Jenkins的Global Tool Configuration
“系统管理”---“Global Tool Configuration”,如下图:
根据提示可以看出是Jenkins服务器没有安装git,找不到git命令,后面会介绍安装git的方式。
三、配置Jenkins通过git拉取代码
注:gitlab的安装配置这里不介绍了(如果和Jenkins安装到同一台服务器,需要注意端口不要冲突了)
1、在Jenkins服务器生成key
#ssh-keygen -t rsa ##不需要设置密码,一路回车即可 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 5a:f1:2f:5c:78:26:26:0d:a4:43:e7:bf:c8:a0:91:e9 [email protected] The key‘s randomart image is: +--[ RSA 2048]----+ | . o | | . = | | o + | | o . * . | | + . S B + | | . o = = B | | E . o + . | | . | | | +-----------------+
2、在Jenkins服务器安装git客户端命令,我这里直接yum安装
#yum install git -y 查看版本: #git --version git version 1.7.1
安装好之后,再到Global Tool Configuration查看,就不会有二.5提示的错误了。顺便为其设置一个名称,Name 设置为git1.7.1 ,Path to Git executable 保持不变即可。
3、查看gitlab上Project的信息(我这里用的是之前搭建好的gitlab,地址是10.0.18.173),这里以server1/CSS项目为例:
红方框中给出的是访问该代码的方式,我们用的是git,所以需要配置为[email protected]:server1/css.git,也可以是域名:[email protected]:server1/css.git
4、在Jenkins的项目中配置,以test_app为例子,
不过配置好之后,遇到了如下的问题:
原因:根据错误提示,发现是没有权限到gitlab服务器端拉取代码,需要将Jenkins服务端刚才生成的id_rsa.pub配置在某一个可以登录gitlab用户的SSH Keys 中,方法如下:
使用一个用户登录到gitlab,并且这个用户对gitlab上的所有项目有读写权限,然后添加Jenkins的key
点击右上方的“Profile settings”,在弹出的页面再点击“SSH Keys”,会弹出如下界面:
点击“Add SSH Key”,自定义Title,将key粘贴到下面的方框中,点击“Add key”,如下图:
然后刷新Jenkins页面,上面三.4出错的页面,就不会再报错了!
PS:如果安装好Jenkins之后,你配置了普通用户并且设置了邮箱,添加好key之后,系统会发邮件通知你,内容如下:
5、为项目添加代码分支
首先要从gitlab上查看代码分支,然后在Jenkins的每个项目中添加分支,以test_app项目为例子,如下:
、
添加好之后要apply和save!
PS:每次构建只能配置一个分支!
6、其他配置:
可以配置丢弃旧的构建,因为保留太多没有用。