微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jenkins+Maven+svn 环境搭建,实现自动化部署、持续集成、和交互

一、介绍Jenkins

1、Jenkins概念
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。

2、Jenkins目的
① 持续、自动地构建/测试软件项目。
② 监控软件开放流程,快速问题定位及处理,提示开放效率。

3、特性
① 开源的java语言开发持续集成工具,支持CI,CD。
② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知生成JUnit/TestNG测试报告。
④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

4、产品发布流程
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成 (Continuous integration,简称CI)
持续交付(Continuous delivery,简称CD )
持续部署(continuous deployment)

5、准备工作
JDK
Maven
SVN
Jenkins.war

二、Linux 安装配置 SVN 用于存放代码

1.YUM安装
[root@Server_2 ~]# yum install subversion -y

2.查看版本
[root@Server_2 ~]# svnserve --version

3.创建仓库目录(自定义)
[root@Server_2 ~]$ mkdir  /svn

4.使用SVN自带命令创建代码仓库,名字为项目名
[root@Server_2 ~]$ cd /svn
[root@Server_2 svn]$ svnadmin create cmdbservice

5.修改启动认路径
[root@Server_2 ~]# vim /etc/sysconfig/svnserve
OPTIONS="-r /svn"  //仓库目录

6.编辑 svnserve.conf 配置文件
[root@Server_2 ~]$ vim /svn/cmdbservice/conf/svnserve.conf
anon-access = none 		//禁止匿名用户访问
auth-access = write 	//配置可写权限
password-db = passwd 	//指定用户配置文件,后面会用到
authz-db = authz 		//指定权限配置文件,后面会用到
realm=cmdbservice		//域,与库名一致

7.编辑 passwd 文件 设置SVN客户端访问用户
[root@Server_2 ~]$ vim /svn/cmdbservice/conf/passwd
admin = 12345

8.编辑authz文件,指定SVN仓库目录,这[/]代表根目录,以及每个用户的权限,这里均为可读可写
[root@Server_2 ~]$ vim /svn/cmdbservice/conf/authz
[/]
admin = rw

9.启动svnserve 并测试
[root@Server_2 ~]# systemctl start svnserve
[root@Server_2 ~]# systemctl enable svnserve

打开IDEA 并创建一个项目提交到SVN版本库 项目名为你之前在Linux 创建的项目仓库名(名称要一致)

@H_502_53@

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过 SVN 里checkout 检索出svn服务器的项目库,获取到本地

在这里插入图片描述

在这里插入图片描述

这里 SVN库 上传和拉取就验证成功了,下面通过 Jenkins 开始配置到构建

svn里checkout depth各选项的具体含义
代表四种检出深度: 
1、Fully recursive——全递归:检出完整的目录树,包含所有的文件或子目录。
2、Immediate children,including folders——直接子节点,包含文件夹:检出目录,包含其中的文件或子目录,但是不递归展开子目录。
3、Only file chlidren——仅文件子节点:检出指定目录,包含所有文件,但是不检出任何子目录。
4、Only this item——仅此项:只检出目录。不包含其中的文件或子目录

三、安装-部署-配置 Jenkins

1.安装JDK,Maven,SVN 等中间件辅助 Jenkins 部署

[app@Server_1 ~]$ tar -zxvf jdk-11.0.10_linux-x64_bin.tar.gz
[app@Server_1 ~]$ tar -zxvf apache-maven-3.8.4-bin.tar.gz

2.部署jenkins.war 到tomcat/webapps/下,并启动tomcat

[app@Server_1 ~]$ /home/app/tomcat9/bin/startup.sh 

3.为了安全考虑,首先需要解锁Jenkins,请在 /home/app/.jenkins/secrets/initialAdminPassword 中查看

在这里插入图片描述

4.访问Jenkins 认端口就是tomcat端口 http://192.168.40.157:8080/jenkins/

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

三、准备就绪,下面开始讲解Jenkins 配置项

在这里插入图片描述


1.进入首页会有中英文,这里要设置Jenkins语言为中文或英文,通过安装locale 插件可以在不修改服务器配置的情况下,修改Jenkins的语言为中文或英文, 注意:修改locale可能会影响该服务器上依靠JDK的其它应用的语言设置。

安装插件>Manage Jenkins>Manage Plugins

在这里插入图片描述


点击可选插件>搜索locale插件并勾选>点击"Download Now and install after restart">勾选"Restart Jenkins when installation is complete and no jobs are running"

在这里插入图片描述


2.管理Jenkins Manage Jenkins > 全局配置 Global Tool Configuration > 配置JDK环境变量

在这里插入图片描述


在这里插入图片描述


4.配置 Maven

在这里插入图片描述


在这里插入图片描述

5.配置 SVN插件 并重启
Deploy to container 将构建好的war包发布到远程的WEB容器中
Subversion svn 连接插件
Publish Over SSH 用于通过ssh方式连接远程服务器,从而实现代码远程推送

在这里插入图片描述

四、构建并发布项目

1.配置 主机信息 系统管理>系统设置>SSH Servers

在这里插入图片描述

2.点击新建任务,任务名为 cmdbservice

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


注意:此时Jenkins 的工作区中还没有代码,需要执行一次构建操作之后Jenkins 才会下载代码

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐