Jenkins 持续集成平台构建之通过git提交代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins 持续集成平台构建之通过git提交代码相关的知识,希望对你有一定的参考价值。

一、概述

上一篇文章介绍了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、其他配置:

可以配置丢弃旧的构建,因为保留太多没有用。

技术分享


本文出自 “知识体系” 博客,转载请与作者联系!

以上是关于Jenkins 持续集成平台构建之通过git提交代码的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins持续集成 之 git更改提交

持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知

CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

敏捷持续集成(Jenkins)

使用 Git 和 Jenkins 构建持续集成和交付平台