通常情况下,修改代码,打包,上传,发布,这么个顺序发布程序。

有了Jenkins这些重复性的操作可以统统交给程序自动处理。甚至可以指定发布的时机,例如提交一次svn就自动发布,每天定时发布等。

1:安装Jenkins

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

2:把包放在tomcat下的webapps下面,(当然webapps路径可以修改为自己的部署路径)

3:ip:8080/jenkins

查看初始密码:cat /root/.jenkins/secrets/initialAdminPassword

哦,忘了装maven了,

1、下载maven 

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz

2、解压至/usr/local目录 

tar -zxvf apache-maven-3.2.5-bin.tar.gz

3、配置国内的源

/usr/local/apache-maven-3.2.5/conf/settings.xml 中

在mirrors中添加以下内容

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

4、配置环境变量etc/profile 最后添加以下两行

  1. export MAVEN_HOME=/usr/local/apache-maven-3.2.5
  2. export PATH=${PATH}:${MAVEN_HOME}/bin
  3. source /etc/profile

5:测试 mvn -v

接下来要配置svn的link把两者联系起来。

1:首先需要添加一个tomcat的user,并赋予相应的管理员role

进入/usr/local/tomcat/conf

vi tomcat-users.xml 添加以下内容:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>

<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

2:针对tomcat8.5 有个挺坑的地方,还需要改一个文件,才能让http://IP:8080/manager/html 可以访问,

进入/usr/local/tomcat/webapps/manager/META-INF

vi context.xml 把这一段给注释掉

<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->

3:修改Jenkins的配置

进入全局工具配置,添加maven的路径

再选择管理插件,安装一个叫做“Deploy to container Plugin”的插件

4:回到工程中,选择“配置”

填好项目名称和描述,使用自定义工作空间。

将svn的地址和用户名密码配置好,这样jenkins才能从svn 获取到源码

配置maven

增加构建后操作,选择 “Deploy war/ear to a container”,这里要填一对用户名和密码,就是tomcat-users.xml里配置的那个user,tomcat/tomcat

注意:如果是发布到tomcat的webapps下,context path啥也不要填,否则jenkins无法将打好的war包copy到tomcat目录下。

5:点“立即构建”,搞定。

Linux 各种软件的安装-Jenkins和svn结合的更多相关文章

  1. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. Linux下软件常见安装方式

    pasting  分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile        Linux下软件安装主 ...

  3. 笔记:Linux下软件的安装、CentOS更新yum源、LAMP环境搭建、kali软件管理

    一.Linux下软件的安装 方式:yum源 / rpm /源码安装 1.yum:(帮助管理员解决依赖关系) yum是通过分析rpm的包头数据后,根据各种软件的相关性质做出属性相对应的解决方案,然后可以 ...

  4. Linux下软件的安装

    想必linux新手刚开始对于linux软件安装很茫然吧,不知到怎么安装,软件到底安装在哪里,如果我需要删除软件怎么删除,配置文件到哪里去找. 想学习linux的话,最快上手的应该是Ubuntu,它特有 ...

  5. linux 学习-软件的安装

    Linux软件的安装rpm -ivh安装软件全名 -i install 安装 -v verbose 显示详细信息 -h hash 显示进度 --nodeps 不检测依赖性(不推荐使用) rpm -U ...

  6. Linux 各种软件的安装-mysql篇

    作为一个长期混迹在windows圈的小白,当拿到一个新的linux服务器时,有点手足无措的赶脚.但是万事开头难嘛,Just Do It! 下面记录一下自己安装各种软件时遇到的坑.这一篇先讲mysql ...

  7. Linux(centos6.5)下安装jenkins

    Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎. 通俗的来讲,jenkins就是一个可以实现自动化部署的一个插件, 对于我来说,也是应用在系统部署上. 废话不多说,直接进入我们的安 ...

  8. linux(red hat)下安装jenkins

    Jenkins的安装能够分为在线安装和下载软件本地安装.我这里用的是另外一种方法,将其下载后是一个应用程序直接点击安装就能够.等安装完后配置一下jdk的路径就ok啦!接下来进行具体的说明: 一.前提 ...

  9. linux下软件的安装与卸载

    一 软件安装包的类型 通常Linux应用软件的安装有五种:    1) tar+ gz包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的.    2) r ...

随机推荐

  1. Examples of Scikit-learn Usages

    Examples of Scikit-learn Usages KFold K-折交叉验证 >>> import numpy as np >>> from skle ...

  2. Centos7编译安装zabbix-4.0.1

    架构组合:nginx1.9.10+php7.0.32+mysql5.7.22+zabbix4.0.1 nginx1.9.10 先装依赖 openssl-1.1.0f tar zxvf openssl- ...

  3. python操作串口

    import serial test = serial.Serial("COM1",115200)#这里就已经打开了串口 print(test.portstr) test.writ ...

  4. 【#和$】MyBatis中#和$的区别

    一.结论 #{}:占位符号,好处防止sql注入 ${}:sql拼接符号 二.具体分析 动态 SQL 是 mybatis 的强大特性之一,也是它优于其他 ORM 框架的一个重要原因.mybatis 在对 ...

  5. Unity3D学习笔记(三十五):Shader着色器(2)- 顶点片元着色器

    Alpha测试 AlphaTest Great:大于 AlphaTest Less:小于 AlphaTest Equal:等于 AlphaTest GEqual:大于等于 AlphaTest LEqu ...

  6. JOISC 2014 邮戳拉力赛(基础DP)

    题意 https://loj.ac/problem/2878 思路 真的神仙题,想到就很好写,想不到就写不出来. 肯定只能一个一个邮戳按顺序分析.首先,将取一枚邮戳的路径分为四种: 上行 \(\rig ...

  7. final、finally、finalize的用法

    final: 1.被final修饰的类,就意味着不能再派生出新的子类,不能作为父类而被子类继承 2.将变量或方法声明为final,可以保证他们在使用的过程中不被修改. 3.被final声明的方法也同样 ...

  8. 一.移动app测试与质量保证

    1.典型的互联网产品的研发流程,及其核心做法.这里并不是简单的套用敏捷等流程方法,而是经过时间摸索和不断调整,找到最适合自己产品的流程做法,这是质量实践质量保证的基础. 2.系统功能测试实践.包涵需求 ...

  9. C++使用thread类进行多线程编程

    C++11中引入了一个用于多线程操作的thread类,简单多线程示例: #include <iostream> #include <thread> #include <W ...

  10. ES6中Promise的入门(结合例子)

    一.Promise的前言 解决回调地狱 //以往回调方式 函数1(function(){ //代码执行...(ajax1) 函数2(function(){ //代码执行...(ajax2) 函数3(f ...