文档章节

jenkins + maven + svn + tomcat 自动部署

求学ing
 求学ing
发布于 2015/10/30 18:34
字数 1240
阅读 13717
收藏 66

    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 server  http://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.DNSIncoming readAnswer 
警告: There was an OPT answer. Not currently handled. Option code: 65002 data: 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储存所有的数据文件在这个目录下. 你可以通过以下两种方式更改:

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

    打开tomcat的bin目录,编辑catalina.sh文件。
    在# OS specific support.  $var _must_ be set to either true or false.上面添加:export JENKINS_HOME="/storage/jenkins"   #你可以指定别的目录
    在引号中填入你的路径。
  2. 在启动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&


© 著作权归作者所有

共有 人打赏支持
求学ing
粉丝 12
博文 174
码字总数 72348
作品 0
昌平
加载中

评论(1)

aspboy
aspboy
非常好 回头实验一下
Jenkins 自动化部署上线

Jenkins 自动化部署上线 标签(空格分隔): Jenkins 由于51cto格式问题,可以直接访问https://www.abcdocker.com/abcdocker/3174 查看原文 [TOC] ##一、Jenkins是什么 ##二、上线流程图 既然...

Abcdocker
07/04
0
0
一步步搭建jenkins持续集成平台

【持续集成相关工具集】: CI-Server(Jenkins/Hudson.....) 代码管理工具(SVN/git...) java框架(maven) 覆盖率工具(c++:gcov java:maven cobertura插件) 静态扫描插件(jenkins插件) 覆...

彼得
2014/03/28
0
0
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以及怎么将自己的模块上传至nex...

凯文加内特
2015/11/05
0
0
Linux上快速搭建Jenkins服务器 实现持续集成开发

简介: 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是...

long0419
2013/12/11
0
0
Hudson+Maven+SVN 快速搭建持续集成环境

hudson 是一个可扩展的持续集成引擎,Hudson非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。 假设我们目前已经有2个maven项目:entities(JAVA类库)...

IT_小翼
2013/03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue+element-ui操作删除(单行和批量删除)

页面展示: <template><!-- 表格内容 --><el-table :data="packData" border style="width: 100%" ref="multipleTable" @selection-change="handleSelectionChange"><el-tab......

琴妹
16分钟前
0
0
基于vue(element ui) + ssm + shiro 的权限框架

zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目,网上有句话说,语言框架...

DarrenHu_吴邪
23分钟前
2
1
数据库水平切分(MyCat分片)

范围分片 io.mycat.route.function.AutoPartitionByLong 自动范围分片 Function名称:rang-long(配置文件默认) 枚举分片 io.mycat.route.function.PartitionByFileMap 枚举分片 Funtion名称...

这很耳东先生
24分钟前
0
0
读《HeadFirst设计模式》笔记之外观模式

外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 举个栗子: 建了一个家庭影院,但是每次享受家庭影院时,你发现需要执行 将灯...

suyain
25分钟前
0
0
MongoDB分片配置

简单注解: mongos 路由进程, 应用程序接入mongos再查询到具体分片,监听端口默认27017 config server 路由表服务, 每一台都具有全部chunk的路由信息 shard为数据存储分片, 每一片都可以是...

LUIS1983
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部