https://my.oschina.net/denglz/blog/524154

摘要: jenkins + maven + svn + tomcat 自动部署

jenkins  是做什么用的,如果不知道请自行google

通俗的说  jenkins 可以帮助我们编译发布代码,比如我们提交到SVN后,要发布运行,就可以用过jenkins进行编译运行

环境(这里主要标注下我的环境):

1: SVN服务器 项目检出地址 https://192.168.1.22/svn/trunk/crm(centos)

2: maven  私服http://192.168.1.23:8080(cnetos)

3: tomcat web serverhttp://192.168.1.24:10086   (centos)   #这个tomcat我使用的不是8080因为这个端口要让jenkins来使用.当然这些不是固定的!!

注: 因为我这边是测试环境,就吧jemkins放到了tomcat web server 上.

正式部署jenkins

A:登录192.168.1.24部署jenkins  #我使用的帐号是root,你可以用其它的.

这台机器安装了tomcat7 和 JDK8, 主要用到了下面两个环境变量.

export JAVA_HOME=/usr/local/jdk8            #环境变量

export CATALINA_HOME=/usr/local/tomcat7

mkdir -p /usr/local/jenkins  #用来存放下载的jenkins

下载地址:http://mirrors.jenkins-ci.org/war/在这里选择安装版本

wget http://mirrors.jenkins-ci.org/war/1.588/jenkins.war

#我这里下载的版本是 1.588  是14年11月更新的.  我安装最新的版本的时候没能正确安装部署war到tomcat server的插件...能力问题..

执行命令  java -jar jenkins.war        #如果报类似下面的警告执行这个命令  java -Dhudson.DNSMultiCast.disabled=true -jar jenkins.war

十一月 19, 2014 4:13:12下午javax.jmdns.impl.DNSIncomingreadAnswer警告:TherewasanOPTanswer.Notcurrentlyhandled.Optioncode: 65002data: 6DE368DADD8543B8

一般情况到此安装结束.  访问http:192.168.1.24:8080  就能出现jenkins界面  #jenkins默认使用8080  更改端口需要在执行命令的时候添加参数.

注: 执行 java -jar jenkins.war 命令以后  在当期用户的家目录会生成一个.jenkins目录,  以后创建的项目,编译生成的war文件都在里面. 如果刚部署好里面应该没有这么多文件.

B: 项目的添加    #这个项目的流程 从svn检测代码---> 编译----->发布到tomcat webapps目录.

1:点击 左上角的"新建" 出现下面的界面

注:为例方便我们的java开发人员我们搭建了一个maven私服 , 在crm项目的pom文件里配置了maven私服的地址,在jenkins编译java代码的时候遇到需要jar包回到我们的maven私服去下载.

2:配置crm项目里面的各项内容

a:配置subversion  如图

选择Subversion   配置 Repository URL   配置你svn里面的项目,然后会提示你配置检出项目的用户与密码. 其选项默认

b:点击 "增加构建后操作步骤" 选择 "Deploy war/ear to a contalner"  这个选项是安装插件以后才有的.  安装"Deploy Plugin"插件.

注: 插件下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/plugins/deploy/1.10/deploy.hpi下载插件以后通过 系统管理-->管理插件-->高级 上传插件 然后重启jenkins( 下载地址时间长了也许会失效)

c:配置有关编译好的war目录与tomcat的相关配置

WAR/EAR files 这个里面配置的是:相对于jenkins的workspace目录的相对路径.  我的全路径是/root/.jenkins/workspace/crm/crm.adminWeb/target/crm.adminWeb.war

context path  /   #/ 代表的是会把crm.adminWeb.war 换成ROOT.war放到 tomcat的webapps目录.

tomcat的信息主要是用户名和密码(来自tomcat-users.xml)  还有tomcat访问的地址http://192.168.1.24:10086

到此 jenkins 部署 自动检出发布java代码完成... 到主界面点击带有绿色箭头的图标进行 检出-->编译--->发布  如下图   #点一下就好了...反映会有一点迟钝.

补充:

enkins默认会存放在用户主目录下的.jenkins文件夹中 #这个感觉很不爽..因为jenkins目录以后会边的很大.....

如:Linux root用户:/root/.jenkins

注意:这是linux版本的。windows系统请自行更改。这个值在Jenkins运行时是不能更改的. 请先将Jenkins停止运行。

如果查看当前Jenkins目录:系统管理→系统设置→主目录→/root/.jenkins(注意:用户不同,路径也不同)

首先移动用户家目录下的隐藏jenkins目录移动到到指定的目录下面 /storage

mv /home/.jenkins   /storage/jenkins

Jenkins储存所有的数据文件在这个目录下. 你可以通过以下两种方式更改:

使用你Web容器的管理工具设置JENKINS_HOME环境参数.

打开tomcat的bin目录,编辑catalina.sh文件。在# OS specific support.  $var_must_ besetto eithertrueorfalse.上面添加:exportJENKINS_HOME="/storage/jenkins"#你可以指定别的目录在引号中填入你的路径。

在启动Web容器之前设置JENKINS_HOME环境变量.

用root用户登录编辑profile文件:vi/etc/profile在最后加入:export JENKINS_HOME=/storage/jenkins        #你可以指定别的目录保存,退出后执行:source/etc/profile让配置生效

最后重启jenkins服务就OK了!!

/usr/bin/java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/jenkins/jenkins.war&

Jenkins +maven+tomcat自动构建部署(学习笔记三十六)相关推荐

  1. 【Unity 3D】学习笔记三十六:物理引擎——刚体

    物理引擎就是游戏中模拟真是的物理效果.如两个物体发生碰撞,物体自由落体等.在unity中使用的是NVIDIA的physX,它渲染的游戏画面很逼真. 刚体 刚体是一个很很中要的组件. 默认情况下,新创的 ...

  2. opencv学习笔记三十六:AKAZE特征点检测与匹配

    KAZE是日语音译过来的 , KAZE与SIFT.SURF最大的区别在于构造尺度空间,KAZE是利用非线性方式构造,得到的关键点也就更准确(尺度不变性 ): Hessian矩阵特征点检测 ,方向指定, ...

  3. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  4. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  5. OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc

    OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...

  6. OpenCV学习笔记(十六):直方图均衡化:equalizeHist()

    OpenCV学习笔记(十六):直方图均匀化:equalizeHist() 参考博客: 直方图均衡化的数学原理 直方图匹配的数学原理 直方图均衡化广泛应用于图像增强中: 直方图均衡化处理的"中 ...

  7. QT学习笔记(十六):setwindowflags的属性总结

    QT学习笔记(十六):setwindowflags的属性总结 此枚举类型用于为小部件指定各种窗口系统属性.它们是不常用的,但在一些情况下是必要的.其中一些标志取决于底层窗口管理器是否支持它们. 主要类 ...

  8. MATLAB学习笔记(十六)

    MATLAB学习笔记(十六) 一.常微分方程数值求解 1.1 常微分方程数值求解的一般概念 1.2 常微分方程数值求解函数 1.3 刚性问题 一.常微分方程数值求解 1.1 常微分方程数值求解的一般概 ...

  9. python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

最新文章

  1. 不能交换到解决jenkins用户的问题
  2. MarkdownPad2.5 注册码
  3. sqlalchemy数据库中的limit使用(限制查询的用户数量)
  4. 独家 | 忘记波士顿动力公司。这个机器人可以自学走路
  5. Java 并发编程笔记(一)
  6. mysql特有语法_mysql 有用的特殊语法
  7. Eclipse中的checkstyle插件
  8. 旋流式沉砂池计算_以高效旋流器为核心的超低成本选煤技术
  9. CSS基础---日记4
  10. Docker资源控制与TLS加密通信
  11. java代码优化_java代码之美(11)---java代码的优化
  12. 用Python实现磁盘IO操作全攻略,让数据流动起来!
  13. 【VSCode - Vetur 插件报错】Cannot find module ‘XXX‘ or its corresponding type declarations.Vetur(2307)
  14. 使用spring cache和ehcache之前必须了解的
  15. AI前导课-第一课AI概览(2018/10/20)
  16. python怎样画立体图-如何用Matplotlib 画三维图的示例代码
  17. 全局bigdecimal反序列化转String返回数据
  18. Python time和datetime模块
  19. Word写作 | 如何在Word中把图片铺满整个页面
  20. 概率图--贝叶斯网络、马尔可夫网络

热门文章

  1. dojo 学习笔记之dojo.query - query(id) 与query(class)的差别
  2. 改进,从一个数组中找出 N 个数,其和为 M 的所有可能
  3. 审视安全风险 ISS贯彻“智慧的地球”理念
  4. 记《浪潮之巅》-第一版-12.短暂的春秋--与机会失之交臂的公司之一太阳公司(sun microsystems)...
  5. Java多线程并发技术
  6. 十种方法保持云中数据安全
  7. WPF中RadioButton绑定数据的正确方法
  8. 06年做的一个配置,从net130转过来的
  9. isolate-user-vlan隔离用户vlan的配置
  10. ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator