Centos7中Jenkins+maven+git持续集成java项目踩坑之路

我是个懒人,之前项目打包更新发布时需要在服务器上一个一个的替换jar包,杀掉进程然后重启,感觉很麻烦,就捡起来之前放下的jenkins,鼓捣了两三天,在测试环境上面搭建好了jenkins持续集成,中间踩了很多坑,写下来总结一下。

1、基本环境安装&jenkins的安装

2、初始化jenkins&基本配置

3、在持续集成项目中步骤和遇到的问题

准备好了吗?开始~~

1、基本环境安装&jenkins的安装

1.1、工欲善其事必先利其器,Jenkins 自身采用 Java 开发,所以需要安装一个 jdk,centos7安装jdk的步骤我再啰嗦一下:

#查看yum源可以下载的jdk版本

 yum search java | grep jdk

 #选择jdk版本下载

 yum install -y java-1.8.0-openjdk

 #设置环境变量

 vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
           export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
           export PATH=$PATH:$JAVA_HOME/bin

保存退出,然后  source /etc/profile  使换将变量生效,然后输入java -version 查看java环境变量是否安装成功(如果这种安装java环境的方法不喜欢那就自行谷歌或者百度吧)。

1.2、由于我的项目是依赖maven的springboot项目并且jenkins打包我使用maven命令打包,所以我又安装了了maven环境:

Maven下载地址:http://maven.apache.org/download.cgi

找一个自己喜欢的位置,比如/home下面,这里提一下,下载的maven版本最好个你项目使用的maven版本一致,会避免很多奇奇怪怪的问题。

#下载maven

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

#解压 

tar zxf apache-maven-3.5.4-bin.tar.gz

#重命名(最好重命名,方便简洁)

mv apache-maven-3.5.4 maven3.5.4

#创建个文件夹,保存jar包

mkdir /home/maven3.5.4/repository

更改一下maven的setting.xml文件的配置,本地存储jar包的位置:  /home/maven3.5.4/repository

改一下镜像,国内比较快的阿里的比较快:


            alimaven
            aliyun maven
            http://maven.aliyun.com/nexus/content/groups/public/
            central
        

        
            alimaven
            central
            aliyun maven
            http://maven.aliyun.com/nexus/content/repositories/central/
        

         
        
            ibiblio
            central
            Human Readable Name for this Mirror.
            http://mirrors.ibiblio.org/pub/mirrors/maven2/
        

        
            jboss-public-repository-group
            central
            JBoss Public Repository Group
            http://repository.jboss.org/nexus/content/groups/public
        

         
        
            central
            Maven Repository Switchboard
            http://repo1.maven.org/maven2/
            central
        

        
            repo2
            central
            Human Readable Name for this Mirror.
            http://repo2.maven.org/maven2/
        

 

#配置环境maven变量

vim /etc/profile

#在底部添加

export MAVEN_HOME=/home/maven3.5.4
           export PATH=$MAVEN_HOME/bin:$PATH

保存退出,然后  source /etc/profile  使换将变量生效,然后输入mvn -v 查看maven环境变量是否安装成功。

1.3安装git
服务器上没有git环境,我们在服务器上安装git,命令 : yum install git ,等待安装完成。

1.4、啰嗦了这么多,终于到了安装jenkins了,很简单,一种是去官网( https://jenkins.io/)下个war包,放到tomcat里面启动也成,另外这种安装方法:

#下载Jenkins库
           wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 
           #导入key
           rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
           #安装Jenkins
           yum install -y jenkins
           #启动Jenkins服务
           systemctl start jenkins 

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第1张图片

这样,jenkins就安装完事了。不过我们需要对配置文件做一下小小的修改,以root用户启动jenkins,不然后面一些命令会提示没有权限。全局的配置文件在/etc/sysconfig/jenkins,执行命令:

#修改jenkins配置文件

vim /etc/sysconfig/jenkins

   

把这个属性改成root用户启动。

#重启jenkins

systemctl restart jenkins

OK,jenkins安装完成,是不是贼简单?

2、初始化jenkins &基本配置   

2.1、初始化jenkins

jenkins的默认端口是8080,也可以在配置文件中修改。第一次登陆jenkins的时候,他会有一个私钥,

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第2张图片

把这个密码复制到网页中,jenkins就开始正式启动,初始化了,如果不想太麻烦的话,就直接按照他的推荐来安装插件,据说jenkins可以集成各种插件,这才造就了他的名声,点击jenkins社区推荐安装的插件就到安装插件页面

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第3张图片

安装好插件后会让你创建一个管理员账号,这个邮箱是必填的,下面还有个用admin账号登陆,怎么选随你们,一定记好账号密码呦~

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第4张图片

创建完成,我们就可以开始使用jenkins了,如果一直白屏,可以重启一下~

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第5张图片

2.2、基本环境的设置

登陆jenkins,首页就是这样子,现在我们配置一下jdk和maven,这两个环境我们在第一步已经在服务器上安装过了。点击【系统管理】--》【全局工具配置】

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第6张图片

首先设置maven的setting.xml:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第7张图片

jdk配置(不要点击自动安装,指定一下已经安装好的jdk就好了):

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第8张图片

maven配置(也不要点击自动安装):

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第9张图片

git配置:

用   whereis git  查看git的地址,

然后在jenkins主页面–》【系统管理】–》【全局工具配置 】,git里面的Path to Git executable 中填写git的地址,(即whereis git的前半部结果)不要选择自动安装。

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第10张图片

最后点击保存。项目打包后有的可能需要发送到远程服务器,所以我们还需要手动安装两个插件:

Publish Over SSH     ---》  用于连接远程服务器

Deploy to container   ---》   把打包的应用发布到远程服务器

在【系统管理】--》【插件管理】中:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第11张图片

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第12张图片

然后等待插件安装完就好了,漫长的等待~这个重启选不选都可以,不放心可以两个插件都安装完之后手动重启。

2.3、添加SSH服务器配置和凭证管理

插件安装完之后,我们配置一下需要将打好的包远程发布的服务器地址,【系统管理】--》【系统设置】,

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第13张图片

最下面有SSH Servers,点击【新增】,【高级】:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第14张图片

Passphrase / Password 是连接服务器的密码~,设置好了点击保存就ok。

接下来我们添加链接git库的凭证,参考https://blog.csdn.net/ymxkybqw/article/details/82726973或者https://blog.csdn.net/atec2000/article/details/81562695,第二篇文章讲得简洁明了。

3、在持续集成项目中步骤和遇到的问题

现在我们可以开始集成项目了,【新建任务】--》:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第15张图片

输入名字,选择创建自由风格的项目,点击确定,这就算创建了一个项目,接下来是对这个项目的配置:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第16张图片

这些,可选可不选,其实这里就是对构建的一些设置,我也没深入研究。

配置项目git地址:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第17张图片

配置项目构建时间:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第18张图片

构建语法小链接:https://blog.csdn.net/zzy1078689276/article/details/77520441/

将将时间戳添加到控制台输出:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第19张图片

项目的构建过程

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第20张图片

一般构建maven项目常会用到这三种,调用顶层maven目标就是在服务器上调用咱们安装好的maven环境,使用mvn命令打包,常用打包命令:mvn clean install 

也可以根据项目的配置文件制定test还是dev环境的打包。jenkins把代码拉取下来之后会保存到默认的工作空间,这个在构建项目时看控制台打印信息就可以看到,当然这个工作空间也可以自己指定位置。

打包完成之后,jenkins的默认工作空间是在/var/lib/jenkins/workspace/下面,如果是在本服务器发布jar包,那就添加一个shell命令模块,

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第21张图片

我这里写了个jar包启动、停止、重启的shell脚本,方便使用,这里把这个脚本贴一下,大家可以瞅瞅:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第22张图片

我箭头指向的那句话,一定要加,因为Jenkins任务结束时候可能会自动关掉所有的子进程,这样咱们刚启动的项目就会被干掉,如果使用shell脚本启动jar包,一定要加上这句话,其他的启动类型,我给大家一个参考链接:https://blog.csdn.net/qq_25559693/article/details/72844340

如果是war包用tomcat启动,那就可以把war包copy到tomcat的webapp目录下,然后调用bin目录下的start.sh和stop.sh就可以。

如果是将包发布到远程服务器,那就应该是添加一个:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第23张图片

因为之前咱们已经配置过远程SSH Server,这里就不在赘述,直接看配置:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第24张图片

注意一下,这里的jar包位置和远程服务器的目标目录都不是绝对路径,在配置SSH Server的时候咱们填写过一个目录位置,这里的目标目录是填写的目录下的文件夹位置。不知道我这样说大家能明白不~囧。

最后需要清理一下工作空间,把缓存的信息清除掉:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第25张图片Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第26张图片

只需要在构建成功之后clean一下就ok,那现在一个项目的构建已经完事了,现在构建一下,让我们看看控制台的输出信息

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第27张图片

立即构建~并且查看控制台打印的信息:

Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第28张图片Centos7中Jenkins+maven+git持续集成java项目踩坑之路_第29张图片

当然,我这里给大家展示的是成功的例子,其实有什么错误,他都会在控制台打印出来,包括你的shell命令写错之类的小错,跟平时的maven打包没啥两样,至此,一整个项目就构建完成了。

记录一下学习jenkins的过程与大家分享,虽然我还有好多配置没有弄清楚和没用到,jenkins还可以集成sona代码质量检测、swagger等等插件。如果有什么说的不对的地方还希望大家能指正批评,互相学习共同进步!

 

 

你可能感兴趣的:(项目持续集成)