jenkins+tomcat +ant +svn 搭建持续构建环境
来源:互联网 发布:手机淘宝怎么申请开店 编辑:程序博客网 时间:2024/05/29 02:39
需要的资料链接:http://pan.baidu.com/s/1jHL6bye 密码:17bf
Jenkins+ tomcat+ant+svn 工作原理图
Jenkins 简介:
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
- 持续的软件版本发布/测试项目。
- 监控外部调用执行的工作。
跟其他持续集成相比,它的主要优点有:
- 开源,即免费。
- 支持多种平台(windows、linux、os x都支持)。
- 安装、配置简单。
- Web可视化管理界面,并且有丰富的tips帮助信息。
持续集成:
持续集成是为了配合敏捷开发的速度和效率而产生的一个用于编译、测试、发布、部署的工具。为什么叫持续呢?其实就是编码人员提交了源码,那么该工具就可以进行编译,测试等一系列运作。怎么能够让编码人员很快的知道编码的异常。
Ant 简介:
是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
Ant的构建文件:
当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发中每个人使用。Ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候把这个命名当作参数传给Ant。构建文件可以放在任何的位置。一般做法是放在项目顶层目录中。这样可以保持项目的简洁和清晰。下面是一个典型的项目层次结构。
(1) src存放文件。
(2) class存放编译后的文件。
(3) lib存放第三方JAR包。
(4) dist存放打包,发布以后的代码。
Ant构建文件是XML文件。每个构建文件定义一个唯一的项目(Project元素)。每个项目下可以定义很多目标(target元素),这些目标之间可以有依赖关系。当执行这类目标时,需要执行他们所依赖的目标。每个目标中可以定义多个任务,目标中还定义了所要执行的任务序列。Ant在构建目标时必须调用所定义的任务。任务定义了Ant实际执行的命令。Ant中的任务可以为3类。
(1)核心任务。核心任务是Ant自带的任务。
(2)可选任务。可选任务是来自第三方的任务,因此需要一个附加的JAR文件。
(3)用户自定义的任务。用户自定义的任务是用户自己开发的任务。Jenkins 的安装:
进入http://mirrors.jenkins-ci.org/
直接下载war包即可。 我用的2.19 版本的。
将war直接放到tomcat服务器中。
直接在浏览器输入 localhost:8080/Jenkins
就可以进入Jenkins界面。
在进入jenkins界面时,会自动下载插件。
配置Jenkins:
1, 新建一个项目,名字自己定义,
2, 选择构建一个自由风格的软件项目
进入如下界面:
General配置:
这里描述写一下,其他的可以不用处理。
源码管理: 这里选择Subversion
这里填写虚拟机上搭svn 服务器的路径 我这里svn 安装版本是 VisualSVN-Server-2.5.4-x64.msi
如果RepositoryURL 没有报错,然后点击add
填入svn的账号和密码。
这样源码管理就配好了。
构建触发器:
也就是什么时候开始自动构建。我这里选择Poll SCM,该方案能定时检代码版本库是否有新的提交,如果有则自动构建。我设置的日程表是“H/5 * * * *”,即5分钟自动检查一次代码版本库是否有新的提交。
Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分 时 天 月 年。*代表所有,0 6,18 * * * 表示“在任何年任何月任何天的6和18点0分”进行构建。
构建:
这里我选择的是ant进行代码的构建。
在虚拟中安装ant ,直接解压,然后配置环境变量即可 apache-ant-1.9.6-bin.zip
不填任何数据,他会默认在Jenkins仓库中的项目中build.xml文件。
构建后操作:
首先Jenkins提供了一个发布的插件deploy plugin,来帮助我们实现远程部署,这个插件默认是不安装的,所以需要我们自己手动的来安装。
手动安装deploy plugin 插件,我们可以在线安装,也可以通过官方下载相关插件,下载地址:https://updates.jenkins-ci.org/download/plugins,
1. 系统管理->管理插件->可选插件->搜索“Deploy to container Plugin”,勾选插件直接安装,等着Jenkins自动安装完成。此时我们打开我们之前新建的项目选择“增加构建后的操作”中增加了一项“Deploy war/ear to a container",将我们的war和ear工程部署到容器。
2. 我们添加一个deploywar/ear to a container选择,Jenkins中构建后操作多出一个发布选项
记住这里要把应用服务器的防火墙关闭。
tomcat默认的登录是注释的,我们需要打开。在tomcat/conf/tomcat-users.xml下添加,
tomcat-users.xml
<role rolename="tomcat" />
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="tomcat,admin-gui,admin,manager,manager-gui,manager-script"/>
找到Jenkins仓库 在workspace下面会在你构建的时候生成你构建项目名称,然后在你项目名称下面拷入build.xml
<project name="picture" default="makeWar" basedir=".">
<property name="build" value="${basedir}/build" />
<property name="build.class" value="${build}/classes" />
<property name="src" value="${basedir}/src" />
<property name="webApp" value="${basedir}/webRoot" />
<property name="lib" value="${webApp}/WEB-INF/lib" />
<path id="classpath">
<pathelement location="${src}" />
<fileset dir="${lib}" includes="***.jar" />
<fileset dir="C:\jar\EE_6">
<include name="*.jar" />
</fileset>
</path>
<target name="init" description="create" depends="clean">
<echo message="create" />
<mkdir dir="${build.class}" />
</target>
<target name="compile" description="eidt" depends="init">
<echo message="eidt" />
<javac srcdir="${src}" destdir="${build.class}" encoding="UTF-8" classpathref="classpath">
</javac>
<copy todir="${build.class}">
<fileset dir="${src}" >
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<target name="makeWar" depends="compile">
<echo message="-----PackWAR----" />
<war destfile="${build}/picture.war" webxml="${webApp}/WEB-INF/web.xml">
<fileset dir="webRoot">
</fileset>
<lib dir="${lib}" />
<classes dir="${build.class}" />
</war>
</target>
<target name="clean" description="delete">
<echo message="delete" />
<delete dir="${build}" />
</target>
</project>
- jenkins+tomcat +ant +svn 搭建持续构建环境
- jenkins+ant+svn持续集成环境搭建
- jenkins + maven + svn + tomcat 搭建自动构建,自动部署,持续集成环境
- Mac下Jenkins+SVN(Git)+Xcode搭建持续构建环境
- 持续集成 Tomcat + Jenkins + ANT + SVN + Selenium
- Jenkins学习总结(7)——搭建Jenkins+Maven+SVN+Tomcat持续集成环境
- 在linux环境下tomcat+jenkins+ant+svn自动构建Android
- hudson+ant+svn持续集成环境搭建
- 持续集成 Tomcat + Jenkins + ANT + SVN + Selenium ---2016
- Jenkins+Svn+Ant+Tomcat
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
- web前端技术社区分享
- Hibernate的dynamic-insert和dynamic-update的使用
- 泛型简介
- AndroidStudio下JNI开发(easy+1.0)之Java对象的传递与修改
- Android_ main java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager
- jenkins+tomcat +ant +svn 搭建持续构建环境
- maven 依赖 war包问题
- 学习内容分享
- 编译原理之文法二
- 为何Android使用非静态内部类容易造成的泄漏!
- AndroidStudio下JNI开发(easy+1.0)之签名
- C# 图像处理:Bitmap 与 Image 之间的转换
- pl/sql 执行带&符号的语句,提示要输入的解决办法
- Java程序猿之线程同步(28)