tomcat +jenkios

来源:https://blog.csdn.net/qq_37546891/article/details/79057171

持续集成CI(Continuous integration):软件集成就是用一种较好的方式,使多种软件的功能集成到一个软件里,或是把软件的各部分组合在一起。如果项目开发的规模较小,例如一个人的项目,如果它对外部系统的依赖很小,那么软件集成不是问题。但是随着软件项目复杂度的增加,会对集成和确保软件组件能够在一起工作提出了更多的要求 --> 要早集成、常集成。 早集成、频繁的集成能够帮助项目开发者在早期发现项目风险和质量问题,如果越到后期才发现这些问题,解决的成本越高,从而有可能导致项目延期或者项目失败。

Jenkins是一个广泛用于持续构建的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。Jenkins可以支持多种语言(比如:java、c#、php等等),也兼容ant、maven、gradle等多种第三方构建工具,同时跟git、svn无缝集成,也支持直接与github直接集成。

Jenkins其实就是一个工具,这个工具的作用就是调用各种其他的工具来达成你的目的。比如你要获取Subversion上最新的源代码,Jenkins会去调用SVNKIT(插件的核心Jar的名称)。然后你需要编译源代码(假设是用maven编译),Jenkins会去调用maven的插件。最后你可能需要发布程序到服务器上(假设是使用的Tomcat提供服务),你可以通过Tomcat自己的API发布程序(有个插件就是通过这个功能实现的发布),你也可以通过ssh通道自己写shell脚本去实现。总之,Jenkins就是一箱工具,在它能力范围内你想干什么都可以。

Jenkins 是基于 Java 开发的一种持续集成工具,主要用于监视执行重复工作,如建立一个软件项目或工作运行的计划任务。当前 Jenkins 关注以下两个工作:

**不断地进行项目的构建/测试软件:**就像 CruiseControl 或 DamageControl。概括地说,Jenkins 提供了一个易于使用的所谓的持续集成系统,使开发人员更容易修改整合到项目中,并使它更容易为用户获得一个新的版本。自动连续生成提高了生产率。
**监控外部运行的作业:**如计划任务作业和 Qrocmail 的工作,即使是那些在远程机器上运行的计划任务。Jenkins 生成这些日志并且很容易让你注意到错误的出现。
Jenkins发布流程:

用户在jenkins上点击某个按钮进行发布
jenkins收到发布命令
jenkins从SVN上把源代码download下来
jenkins根据你设置的mvn命令进行打包
jenkins把你打包的好的war工程传输到tomcat的webapps目录下
tomcat启动
对于程序员而言,只要做两件事:(配置一次,其余的时候,只需一键部署)

在jenkins上配置某个项目的部署流程
在jenkins上点击某个项目的部署按钮,进行一键部署
>> 环境搭建 - Java环境
(1)Jenkins 的运行需要 Java 环境
(2)安装 Tomcat 服务器
http://blog.csdn.net/qq_37546891/article/details/79192392

(3)安装 Jenkins
参考链接:https://blog.csdn.net/qq_34618853/article/details/70170348

0、先配置环境变量!!!将Jenkins的WorkSpace放到C盘以外的其他地方,就不用之后再修改工作空间了;
JENKINS_HOME=E:\JenkinsWorkSpace

1、**Jenkins 官方网站:**http://jenkins-ci.org/, 打开首页后点击“download”如图所示:(下载到Tomcat的webapp目录下)


2、选择.war下载,放到D:\Tomcat\apache-tomcat-9.0.2-windows-x64\apache-tomcat-9.0.2\webapps目录下:

 

3、下载完成,打开Tomcat 目录下bin目录的startup.bat,或者cmd 下切换到Jenkins的存放目录,执行java -jar jenkins.war,执行一会儿会看到下面的内容:


4、浏览器中输入:http://localhost:8080/jenkins/或http://localhost:8080/(期间不要关闭cmd)


5、安装插件:(我选择安装推荐的插件,省事。。)


6、安装插件的时候,会有一些插件安装失败,这些插件的安装是有前置条件的,等安装结束后,按右下角“重试”,继续安装,之前失败的插件就都能安装了:

 

7、插件安装之后,进入创建用户界面:


8、填写完信息“ 保存并完成 ”;

 

9、这时dos窗口显示安装成功:


10安装插件:系统管理->插件管理-> 可选插件-> 过滤搜索框中 查找如下插件:

Maven Integration plugin

SSH plugin

Deploy to container Plugin

(4)更改Jenkins 工作空间
Jenkins与其它软件不太一样的地方在于,其修改工作空间目录并不是在Jenkins本身的配置文件中进行,而是在电脑操作系统的环境变量中进行的。而Jenkins所做的操作是显示该工作空间目录的所在位置,如果工作空间位置被修改了的话,那么它显示的就是修改之后的新的工作空间目录。

查找Jenkins工作空间目录显示位置:在Jenkins主目录中点:系统管理 --> 系统设置 --> 高级 ;“工作空间目录"中的“JENKINS_HOME”就是Jenkins的工作空间目录所在位置;

Jenkins的在查找工作空间时是这样运行的,Jenkins默认的内置工作空间为系统用户的根目录下,其文件夹名称为“.jenkins”,而Jenkins默认的查找顺序是先是在操作系统的环境变量中查找名为“JENKINS_HOME”的环境变量,如果存在该变量,那么Jenkins就采用“JENKINS_HOME”中所指定的目录作为工作空间目录,但是我们在初次装好Jenkins时我们是没有配置“JENKINS_HOME”环境变量的,所以说Jenkins在找不到配置的“JENKINS_HOME”环境变量时就采用了默认的环境变量配置,所以说它才会在“C:\Users.jenkins”中创建工作空间。

在C盘默认.jenkins文件夹备份;

在电脑的环境变量中创建一个“JENKINS_HOME”环境变量,在该变量中指定Jenkins的工作空间目录;

将备份的.jenkins文件夹的内容复制到新的工作空间;

重启Tomcat,重新打开Jenkins,重新解锁Jenkins(解锁密码位于新指定的工作空间目录下);

>> 配置JDK、Maven
(1)点击:系统管理 - 全局工具配置,配置JDK 、 Maven;

 

 

(2)点击credentials,添加SVN账号(和Git差不多)

 


>> 创建任务
1、点击首页“创建一个新任务”的链接,弹出如图所示页面:


2、Jenkins 提供了四种类型的任务:

构建一个*风格的软件项目:
这是 Jenkins 的主要功能。Jenkins 会结合任何 SCM 和任何构建系统来构建你的项目,甚至可以构建软件以外的系统。

构建一个 maven 项目:
构建一个 maven 项目。Jenkins 会利用你的 POM 文件,这样可以大大减轻构建配置。

构建一个多配置项目:
适用于多配置项目,例如多环境测试、平台指定构建等。

监控一个外部的任务:
这个类型的任务允许你记录执行在外部 Jenkins 的任务,任务可以运行在远程机器上。这可以让 Jenkins 作为你所有自动构建系统的控制面板。

3、输入项目的名称,选择第一项“构建一个*风格的软件项目”,点击确定,进入项目的详细配置页面–General:

 

丢弃旧的构建:
主要是用来配置构建历史保存的几个版本,每次执行构建都会产生日志,日志的生成会占用一定的磁盘空间,通过勾选此选项就可以设置保持构建天数和构建次数。

安静期:
如果设置此选项,则一个计划中的构建在开始之前需要等待选项中设置的秒数,这对下面的情况非常有用:(如果没有在项目级别设置此项,则会使用系统默认值)

合并多封 CVS 变更通知邮件为一封(当一次提交跨越多个目录时,一些 CVS 的变更日志邮件发生脚本会接二连三地生成多封通知邮件)。
如果你的编码风格导致你更改一个逻辑需要几次 CVS/SVN 操作,那么设置一个较长时间的等待会防止 Jenkins 因过早构建而失败。
节省构建。如果你的 Jenkins 有太多并且高频率的构建,则设置长时间的等待会舒缓这些构建。
重试次数:
如果从版本库签出代码失败,则 Jenkins 会按照这个指定的次数进行重试之后再放弃。

4、源码管理:

源码管理主要是为了与代码版本控制工具产生关联。当代码有更新时,自动触发构建,从而更早地获得代码的构建结果,从构建结果发现问题、修复问题,直到构建通过,这样将会有效地保证代码的质量。

5、构建触发器:(创建项目时我选择去掉所有勾选,采用手动点击触发即可)


Build after other projects are built:在其他项目执行完成之后才触发执行构建。

Build periodically:设置定时的构建。例如,可以设置周一到周五每天晚上 12 点处理构建。

Poll SCM:定时检查版本控制工具中的代码是否有变更(根据 SCM 软件的版本号),如果有更新就 checkout 最新代码下来,然后执行构建动作。

6、构建:

在增加构建步骤中提供了以下几个选项:

Execute Windows batch command:执行 Windows 批处理命令。
Execute shell:执行 shell 脚本。
Invoke Ant:调用 Ant,即 Apache Ant。是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于 Java 环境中的软件开发。
Invoke top-level Maven targets:调用 Maven 对象。Maven 是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
7、信息都填写好之后保存,进入项目首页:

在创建的 pyse_test 项目左侧罗列了当前项目的操作。如果需要修改配置信息,可以单击“配置”链接重新进行修改。

>> 运行构建
在项目首页,单击“立即构建”选项,Build History 将显示项目的构建状态,

 

单击构建历史时间(如图中的 2018-1-15 上午12:38),弹出如图所示页面:

 

单击“控制台输出”,即可查看构建日志,如图所示:

 

上图所示的构建日志与我们在命令提示符下的操作一致,最后提示“SUCCESS”表示此次构建是成功的。

查看构建历史:
单击上图中的“返回到工程”返回到项目首页,单击“构建历史”。如果进行了多次构建,则可以看到项目的构建历史图表,如下图所示:

 


>> 定时执行构建
每次都手动的构建项目显然不够方便,有时候需要定时地执行自动化测试脚本。例如,每天晚上定时执行runtest.py 文件来运行自动化测试项目,这样在第二天早上来到公司打开邮箱就能看到自动化项目的执行情况。

现在以已经创建的“pyse_test”项目为例,单击项目左侧的“配置”选项,修改项目的配置;在“构建触发器”中勾选“Build periodically”选项。点击右边小问号;


未完待续。。。

tomcat +jenkios

上一篇:android设备兼容性


下一篇:Mapper多表关联查询学习