基于jenkins持续集成环境的简单构建(Jenkins+svn/git+maven)
持续集成环境的构建的意义什么是可持续化?持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。没有持续集成的项目构建过程 1、 开发人员将代码提交到SVN...
持续集成环境的构建的意义
什么是可持续化?
1、 开发人员将代码提交到SVN/GIT等代码管理工具中;
2、 运维/测试 从SVN/GIT 下载最新的代码本地测试;
3、 运维/测试 通过mstsc或者其他方式 进入部署环境机器;
4、 停止要更新的服务。
5、 替换程序包;
6、 启动服务。
2.没了。
搭建环境的前期准备及工具说明
本次运行环境:Windows 7 64位操作系统/Windows Server 2012 R2 Standard
使用工具及版本:jdk-8u45-windows-x64
apache-tomcat-7.0.75
jenkins.war(版本Jenkins2.121.1)
maven
svn
Git-2.18.0-64-bit
freeSSHd
putty-64bit-0.70-installer
工具说明:
jdk:JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
jre:JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
apache-tomcat:Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,servlet)。
两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的websphere、BEA的Weblogic,sun的JRun等等。
jenkins:Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有。它的前身是hudson,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson。
maven:Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Git:Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
freeSSHd:SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。 SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
putty:PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。
搭建环境
JDK安装与环境变量配置
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
apache-tomcat安装
下载压缩版apache-tomcat-7.0.75,直接解压。
maven的安装
https://jingyan.baidu.com/article/4f7d5712a1306c1a21192746.html
svn安装
不需要下载jenkins已经集成,可以jenkins中Global ToolConfiguration进行配置。
git安装
https://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html
freeSSHd安装
https://jingyan.baidu.com/article/f7ff0bfc1ebd322e27bb1344.html
putty安装
https://jingyan.baidu.com/article/90bc8fc8b9bca1f653640ca5.html
Jenkins安装
我们本次用的是Jenkins.war,下载完成后将其放在我们之前解压的apache-tomcat-7.0.75下面的webapps中。
下载地址:https://jenkins.io/download/
Jenkins启动
有些人可能会出现下面这种情况,也可以直接选择安装推荐的插件。
信息录入完成后,点击保存并继续。
以后的访问,我们直接输入我们之前创建的管理员用户进行登录即可。
Jenkins插件下载
我们由于某些原因跳过了插件的安装,我们这边先对我们本次需要用到的功能的插件进行下载。
如果需要更换Jenkins主目录,需要先看Jenkins系统配置中更改主目录再进行插件的下载。
点击按钮,进入管理Jenkins页面。
点击按钮,进入可选插件页面。
如果这时候我们会发现,没有让我们下载的插件列表,点击按钮,还出现了报错页面。
我们进行以下操作,如果有插件列表则忽视以下操作。
通过之前讲解的步骤,重新进入插件管理页面,点击按钮,进入设置页面。
在下方有一个升级站点的输入框,
将内容替换为
http://mirror.xmission.com/jenkins/updates/update-center.json
点击按钮,再点击按钮。
这回我们再点击插件按钮,进入插件下载页面。
本次我们需要下载的插件为:
Subversion Revert GitLab Pipeline Maven Integration Maven Integration
Jenkins系统配置
点击按钮,点击进入系统配置页面。
1.更改主目录
主目录显示的是 C:\Users\Administrator\.jenkins 这是一个默认地址,我们可以更换主目录。
在环境变量中新增系统变量
变量名 JENKINS_HOME
变量值:D:\apache-tomcat-7.0.75\webapps\jenkins
我这里做的例子,你可以放在你想放在的目录中。
配置好后,重启服务。
此时,登陆页面需要我们再去文件中找到密码粘贴上去。
因为我们更换了主目录,相当于进行了初始化,所以插件还是需要重新下载。
再次进入系统页面,我们可以看到主目录已经进行了更换。
2.Publish over SSH 配置
2.1 SSH的配置
配置完成后,重启SSH,然后再server Status 中启动我们的SSH Server
2.2 Publish over SSH 配置
这里的内容我们不用去动。
添加一个SSH Servies,按照下图配置,返回连接正确。
Jenkins全局工具配置
在管理Jenkins页面点击按钮进入全局工具配置页面。
1.JDK配置
点击按钮,进入配置页面,选择我们配置的环境变量。
2.Git配置
点击,进入配置页面,选择我们的git安装目录。
3.Maven配置
点击,进入配置页面。
此外,页面上方的maven配置按照图片选择,目录为maven的setting.xml
Jenkins+git+maven简单构建
构建理想目的:当我们将代码进行提交时,Jenkins会监听代码版本管理系统(GIT/SVN等),如果有代码更新,会自动进行将我们提交完成的代码,打包发布到服务器上,服务停止,原有项目进行备份,新打包的项目放到指定位置,重启服务。
由于时间原因,除了监听代码版本,其他的会给大家实现,监听后期还会写一个博客,欢迎大家一起研究。
1.创建maven项目
在Jenkins首页,点击按钮,新建一个任务名称叫maven-test的maven项目。
2.配置maven项目
进入项目,点击按钮,进入项目的配置页面。
2.1Git配置
因为我们本次用的git,所以源码管理选择git,Repository URL为我们项目Git地址,Credentials为本地Git生成的id_rsa的key。
2.1.1 Credentials的配置
2.1.1.1 SSH公钥的生成
2.1.1.2 添加凭证
点击按钮,进入添加凭证页面。
2.1.1.3 选取Pom
设置完成后,点击应用及保存按钮,回到项目页面。
2.1.1.4 测试连接结果
测试是否连接成功,点击按钮,进行测试。
点击按钮,可以查看构建的进程。
点击可以查看详细输出过程及结果。
2.2 部署脚本配置
2.2.1 bat脚本编写
脚本编写主要实现服务停止,将原有webappsa下文件按照时间进行备份,删除webappsa文件夹,创建webappsa文件夹,将新生成的项目放在新创建的webappsa下,启动服务。
其中因为tomocat中的shutdown.bat有时不靠谱,直接进行的强杀。
2.2.1 bat脚本配置
在Post Steps中选择Run only if build succeeds or is unstable 。
这样我们就配置完成了,点击应用及保存按钮,回到项目页面。
进行项目的构建,点击查看进程。
点击按钮查看详细过程及结果。
可以看到服务被我们强杀之后,原有项目进行了一个备份,新项目重新部署后,服务进行了重启,这样我们就简单的完成了本次构建。
Jenkins+svn+maven简单构建
构建的目的及实现的目标跟上面的一样,只不过换了一个代码管理软件Git换成了SVN,所以我这里主要讲一下如何配置SVN。
svn配置
新建一个maven项目,源码管理我们选择Subversion。
再点击Credenyials的按钮,添加我们的SVN账号。
添加完成后,选择我们刚才添加的账号。
其中pom.xml在我们获取的文件夹下,所以这里不需要修改。
点击应用及保存,返回项目页面。
点击按钮,开始项目的构建。
构建成功后查看构建结果,控制台输出内容显示成功。
更多推荐
所有评论(0)