jenkins的介绍及安装请自行百度,本文重点介绍如何使用jenkins,并自动发布web应用到tomcat中.

1 . 创建项目

打开jenkins --> 新建 --> 填写item名称,就是项目名称,这里我选择构建一个自由风格的软件项目 -->保存

2. 配置构建步骤

 在配置页 --> ① 源码管理 我用的svn,就选subversion了,填入项目的url , 首次使用jenkins需要配置svn账号密码,配置方法根据下方的提示。

② 构建触发器 ,我这里设置每小时构建一次

③ 配置构建步骤 , 这里使用ant进行构建,选择ant 版本-图中选择的是ant1.9.5 , 填写tagets 这里的main 即对应build.xml的main target ,这样就会使用项目里的              build.xml就行构建了。构建完了,需要将war包发布到tomcat 里, 再增加一个shell 步骤,ok.

  

  

点击 立即构建 ,就可以看到构建成功了,打开网页也可以看到项目了。

jenkins 使用比较简单,关键在于配置ant build.xml ,之前没有接触过。web应用编译需要servlet-api.jar ,考一个tomcat下的放到项目的lib下就可以编译通过了。

附上build.xml 比较粗糙,(⊙﹏⊙)b:

<?xml version="1.0" encoding="utf-8"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. -->
<project basedir="." default="main" name="XX">
<target name="main" depends="complie, compress" description="Main target">
<echo>Building war file.</echo>
</target> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="target" value="1.7"/>
<property name="source" value="1.7"/> <target name="init">
<property name="build" value="build"></property>
<property name="src" value="src"></property>
<delete dir="${build}" />
<mkdir dir="${build}"/>
<mkdir dir="${build}\WEB-INF"/>
<mkdir dir="${build}\WEB-INF\classes"/>
<copy todir="${build}">
<fileset dir="${basedir}\WebContent">
<include name="WEB-INF/**" />
<include name="META-INF/**" />
<include name="api/**" />
<include name="manage/**" />
</fileset>
</copy>
</target> <!--定义项目编译的时候,以来的lib包的路径-->
<path id="project.class.path">
<!-- <pathelement path="${classpath}" /> -->
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
</path> <target name="complie" depends="init">
<javac srcdir="${basedir}/src" destdir="${build}/WEB-INF/classes">
<classpath refid="project.class.path" />
</javac>
<copy todir="${build}/WEB-INF/classes">
<fileset dir="${basedir}/src">
<include name="**/**.xml" />
</fileset>
</copy>
</target> <target name="compress" depends="complie">
<war warfile="${build}/XX.war" webxml="${build}/WEB-INF/web.xml">
<lib dir="${build}/WEB-INF/lib"/>
<classes dir="${build}/WEB-INF/classes"/>
<fileset dir="${build}"/>
</war>
</target> </project>

使用jenkins并发布应用到tomcat的更多相关文章

  1. jenkins自动发布java代码

    注:本文来源于<KaliArch> jenkins笔记 一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台. ...

  2. [原]Jenkins(二)---jenkins之Git+maven+jdk+tomcat

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5331 ...

  3. [原]Jenkins(九)---jenkins分别发布多个项目到多个远程主机

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  4. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  5. Jenkins自动发布代码实战篇

    Jenkins自动发布代码实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.Jenkins服务器配置秘钥对并上传到Gitlab中 1>.在Jenkins后端生成秘钥 ...

  6. eclipse通过maven远程发布应用到Tomcat

    好久没有写博客了,今天为大家分享一下如何在eclipse通过maven远程发布应用到Tomcat. 一般情况下,我们发布应用到服务器需要现将应用导出成war包,然后连接服务器部署更新,这样是很耗时的, ...

  7. renren-fast部署发布教程(tomcat)

    renren-fast部署发布教程(tomcat) 说明:renren的开发文档需要付费,官方的生产部署介绍相对比较简单,因此记录自己的部署过程 为了方便,前后端我都部署在同一台linux服务器上,其 ...

  8. Jenkins+gitlab发布Django程序

    Jenkins+gitlab发布Django程序 一. 二. 三.shell # !/bin/bash cd /root/upload_file #git add . #git commit -m ' ...

  9. shell的运用 : jenkins 编译 打包前端发布 生产(tomcat)

    生产隔离做得非常.....文件上传只能通过固定ip机器的sftp账户上传,账户密码每个月要写申请才能获得. 登陆生产服务只能通过浏览器登陆!!! 发布一次生产,很痛苦. 做了简单的shell来减轻痛苦 ...

随机推荐

  1. hadoop 2.0安装及HA配置简述

    一.单机模式 a.配置本机到本机的免密登录 b.解压hadoop压缩包,修改hadoop.env.sh中的JAVA_HOME c.修改core-site.xml <configuration&g ...

  2. vue项目配置less预编译语言

    当所有东西都 准备好之后 : 第一步: 安装less依赖,npm install less less-loader --save 第二步:找到webpack配置文件webpack.base.conf. ...

  3. python3给socket模块设置代理

    最近需要在公司学习socket编程,但是不能直接连接外网,需要设置一个代理才能正常访问.报错示例: import socket def blocking(wd): sock = socket.sock ...

  4. C++结构体定义和C的区别

    对于C来说,struct定义的结构体不是一种数据类型,所以每次声明的时候需要加上struct让编译器知道这是结构体,为了不每次都加上struct关键字,可以在定义结构体的时候加上typedef关键字: ...

  5. Linux上超酷的命令行扩展工具Oh My Zsh

    Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式.它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作.给我们一种全新的方式使用命 ...

  6. 互联网开放平台API安全设计

    互联网开放平台设计1.需求:现在A公司与B公司进行合作,B公司需要调用A公司开放的外网接口获取数据,如何保证外网开放接口的安全性.2.常用解决办法:2.1 使用加签名方式,防止篡改数据2.2 使用Ht ...

  7. Autofac Getting Started(默认的构造函数注入)

    https://autofaccn.readthedocs.io/en/latest/getting-started/index.html The basic pattern for integrat ...

  8. MergeSortedArray,合并两个有序的数组

    问题描述:You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold add ...

  9. NumPy矩阵库

    NumPy - 矩阵库 NumPy 包包含一个 Matrix库numpy.matlib.此模块的函数返回矩阵而不是返回ndarray对象. matlib.empty() matlib.empty()函 ...

  10. JavaScript tips —— 谈谈数组乱序

    前言 先看一个段代码 function randArr (arr) { return arr.sort(() => { return (Math.random() - 0.5); }); } 目 ...