共计 1620 个字符,预计需要花费 5 分钟才能阅读完成。
伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境。
Jenkins原理
前提:我们的项目已上线,但是后续会不断补充功能进去。
在没有Jenkins之前,我们是这样部署代码的。如果服务器上安装了Eclipse,那么我们把本地新开发的代码粘贴到Eclipse中已有的代码上去,使用Eclispe帮助我们编译。然后启动Tomcat运行查看效果。如果服务器上没有安装Eclipse,那么我们从本地编译好,完整地拷入Tomcat中。然后启动运行。这么一个过程中,即使是一个小小的改动,都需要如此的大费周章。有了Jenkins后,我们会发现,极大地减少了这些步骤得繁琐。我们只需要提交代码到SVN,登录Jenkins启动立即构建,就可以在浏览器中查看功能效果了。
说了这么多,都是生活中具体使用的场景。那Jenkins的工作原理是什么呢?我们可以看一张图。
从这张图中我们可以看到Jenkins似乎是一个核心。但是我却不这么认为,我觉得Jenkins就是一个空架子。主要工作都不是Jenkins做的。它做的就是把大家都整合起来。像一个管理者。在它的管理下,一切都连起来了,像是自动做的一样。合作开发使用SVN管理代码。Jenkins利用配置的SVN地址,从SVN服务器上获取最新代码,拷贝到自己的workspace里面。然后调用Ant脚本编译代码,打war包,且将war包拷贝到Tomcat的webapp目录下。Jenkins在调用Tomcat里面的命令重新启动Tomcat.这个过程就完成了部署代码。
环境准备
Jenkins Server
JAVA 1.8+ : /usr/local/java
ANT : /usr/local/ant
Jenkins
SVN : /svnrepos/javaproject
Jenkins部署
先在服务器部署JAVA环境,设置好环境变量,过程略,输入
java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
即表示JAVA环境部署完成,下载Jenkins的war包,执行
java -jar jenkins.awr
如需后台执行:nohup java -jar jenkins.war &
项目准备
用Ecplise建立一个HelloWorld项目,结构如下图所示:
build.xml内容如下:
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="oata.HelloWorld"/>
</manifest>
</jar>
</target>
<target name="run">
<java jar="build/jar/HelloWorld.jar" fork="true"/>
</target>
</project>
上传项目至SVN
配置Jenkins
在“源码管理”界面配置SVN上传源码,填写SVN地址,并点击“add”配置SVN验证账号
构建环境选择:
如未出现,需在系统配置中设定ANT和JDK的目录
构建栏填写:
构建测试
可以看到输出的字符串了: