黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)

一、Jenkins简介

Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。

官网:https://jenkins.io/ 官方文档:https://jenkins.io/doc/

二、特点

  • 易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
  • 易配置:提供友好的GUI配置界面;
  • 变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
  • 支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
  • 集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果
  • JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
  • 支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
  • 文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
  • 支持第三方插件:使得 Jenkins 变得越来越强大

三、安装

1.安装JDK

由于jenkins基于JAVA开发,所以需要先安装JDK
(1)前往官网安装,下载安装JDK1.8,下载地址点我前往
选择:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第1张图片
(2)将下载好的JDK上传到虚拟机中
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第2张图片
(3)执行安装命令

rpm -ivh jdk-8u211-linux-x64.rpm

黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第3张图片
输入java -version,可以看到版本信息则安装成功
在这里插入图片描述

2. 安装jenkins

(1)输入以下命令进行安装
先安装wget

yum  -y install wget

运用weget下载jenkins

wget https://pkg.jenkins.io/redhat/jenkins-2.185-1.1.noarch.rpm

(2)安装jenkins

rpm -ivh jenkins-2.185-1.1.noarch.rpm

(3)为了避免与tomcat的端口号冲突,修改jenkins的端口号

vi /etc/sysconfig/jenkins

修改

JENKINS_USER="root"
JENKINS_PORT="8235"

端口可以随意用,不冲突就好
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第4张图片
(4)启动服务
systemctl start jenkins
(5)访问http://192.168.192.130:8235
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第5张图片
从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串
终端选输入:cat /var/lib/jenkins/secrets/initialAdminPassword
(6)安装插件
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第6张图片
等待安装完成:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第7张图片
选择安装推荐插件即可
(7)建立一个管理员用户
然后一路下一步即可到达主界面:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第8张图片

3.安装插件

(1)安装Maven插件
点击主界面的Manage Jenkins,进入管理界面
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第9张图片
选择插件管理
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第10张图片
根据下面图片选择安装maven插件:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第11张图片
显示如下则安装完成:
在这里插入图片描述

三.配置全局工具

1.安装Maven与本地仓库

(1)将maven的安装包上传到虚拟机中(我下载的是3.6.1版本)
(2)解压

tar -zxvf apache-maven-3.6.1-bin.tar.gz

(3)移动目录

mv apache-maven-3.6.1 /usr/local/maven

(4)编辑setting.xml配置文件

 vi /usr/local/maven/conf/settings.xml

配置本地仓库目录,内容如下

<localRepository>/usr/local/repository</localRepository>

(5)将开发环境的本地仓库上传至服务器(虚拟机)并移动到/usr/local/repository 。

mv reponsitory /usr/local/repository

执行此步是为了以后在打包的时候不必重新下载,缩短打包的时间。
(6)编辑setting.xml配置文件 vi /usr/local/maven/conf/settings.xml

<pluginGroups>
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>

2. 安装git

yum install git

3.全局工具配置

在jenkins住页面中选择系统管理,全局工具配置
(1)JDK配置
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第12张图片
(2)git配置
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第13张图片
(3)Maven配置
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第14张图片
配置完后保存

四、持续集成

1、创建任务

(1)回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第15张图片
为什么是config?因为在上一篇文章中,我们构建docker镜像的时候,给config添加好了相关依赖,所以这里还是继续选择config
点击确定,跳转到源码管理
(2)源码管理
前提是已经将代码上传到git仓库中,可以选择码云或者github,我已将代码上传到gitHub,所以这里用的是github上的url(使用github连接速度较慢,建议还是用码云或者自己搭建一个)
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第16张图片
(3)Build
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第17张图片

clean package docker:build -DpushImage

用于清除、打包,构建docker镜像
最后点击“保存”按钮

2.执行任务

回到jenkins的首页,点击启动按钮:
在这里插入图片描述
可以看到这里的状态
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第18张图片

构建时出现以下错误:

黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第19张图片
进入相关文件夹查看发现路径不对:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第20张图片
返回首页修改item的Build为:
tesquare_parent/tesquare_config/pom.xml
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第21张图片

再次构建:

出现了新的问题:
ERROR: Failed to parse POMs
估计是配置本地仓库的时候除了问题,路径也没错,但是就是识别不出,没办法,最后直接用默认的仓库了,构建的时候需要下载一些依赖,时间可能要长一点:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第22张图片
如果出现一下错误:
Maven error: Failed to execute goal on project : Could not resolve dependencies for project
记得要更改一下远程仓库,这里推荐阿里云的,修改/usr/lcoal/maven/conf下的settings文件,在mirrors里添加:

<mirror>  
	<id>alimaven</id>  
	<name>aliyun maven</name>  
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
	<mirrorOf>central</mirrorOf>          
</mirror>

看到这个就是构建成功了
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第23张图片

3. 查看镜像

(1) 浏览器输入:http://192.168.192.130:5000/v2/_catalog
在这里插入图片描述

(2)docker images

黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第24张图片
(3)创建容器

docker run -d --name=tensquare_config -p 12000:12000 192.168.192.130:5000/tensquare_config:1.0-SNAPSHOT

(4)浏览器输入:http://192.168.192.130:12000/user-dev.yml,看到如下内容:

黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第25张图片
说明运行成功,至此持续集成工作完成!

4.按照前面的步骤,完成其他微服务的持续集成

注:需要修改pom.xml的依赖,每个微服务的配置中心uri的IP要改成虚拟机的IP,以及在github中Eureka服务中心的地址

最终效果如图:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第26张图片

Eureka的端口号我改成了9761,原来是6868
jenkins工作台:
黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二)_第27张图片

完整项目源码已上传github,源码地址

你可能感兴趣的:(黑马程序员十次方微服务项目开发实践,使用Jenkins实现持续集成(二十二))