zoukankan      html  css  js  c++  java
  • Jenkins+svn+maven

    首先我们在我们的服务器上安装好svn和maven

    这里在前两步骤基本上没有啥问题,主要就是在Jenkins的步骤我弄了好长时间,这里记录一下

    Jenkins的问题我是在这个网址解决的:http://blog.csdn.net/pein_zero/article/details/52597615

    还有一些其他的问题:http://www.whatled.com/post-1922.html

    中间构建项目的时候也失败了,说是缺少某个插件。安装上就好了

    就是在装插件的时候老是装不上,我又没有看下面的报错,那只还可以这样做,就是把报错中的信息链接

    复制到浏览器上重新下载一下,然后在插件管理中,使用高级模式,把下载下来的插件上传上来进行安装就可以了

    前言

         在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具,
         它可以做的事情很多,其中一个主要的功能就是简化部署流程
       
         回想一下我们的发布流程:
              1.本地把项目打包
              2.通过FTP等工具,传输到服务器
              3.关闭tomcat,把打包的项目放到webapp目录下
              4.启动tomcat

         如果每次都这么搞的话,不仅慢,而且容易出错。
       
         有了jenkins以后,发布流程可以是这样:
              1.用户在jenkins上点击某个按钮进行发布
              2.jenkins收到发布命令
              3.jenkins从SVN上把源代码download下来
              4.jenkins根据你设置的mvn命令进行打包
              5.jenkins把你打包的好的war工程传输到tomcat的webapps目录下
              6.tomcat启动
     
         对于程序员而言,只要做两件事:
              1.在jenkins上配置某个项目的部署流程
              2.在jenkins上点击某个项目的部署按钮,进行一键部署

         

         实际上,配置往往只做一次,其余的时候,你只要一键部署就可以了


    一、安装jenkins


           1.下载JENKINS

                  首先去jenkins官网下载jenkins,官网有两个下载的选择:

     
                  如果是公司使用,建议选择左边的。
                  如果是个人使用,可以使用右边的

                  如果要下载安装版本,点击下拉箭头,windows是exe,linux是rpm包
                  如果要下载war包,直接点击,不要点下拉箭头,我下载的是war包

                 


     
           2.设置JENKINS_HOME
                  下载完成以后,最好先设置JENKINS_HOME;
                  否则,对于windows系统,会默认装在C盘
                  linux系统不清楚默认在哪里
                  但是你设置了以后,就会在你想要的位置,生成jenkins的东西
                  关于设置HOME,跟设置JAVA_HOME一样,windows就不说了,linux的话,也是跟JAVA一样,修改/etc/profie文件即可

           3.启动JENKINS
                  使用war包的同学跟其它工程一样,放到tomcat下,启动tomcat即可。
                  使用安装包的同学,windows下,在服务中启动,跟mysql、oralce服务的启动是一样的,linux的同学自行研究

                  启动tomcat时会报错:
                  
                  这是因为jenkins不知道从什么时候开始,把http访问改成了https,但war包的配置文件却没有改,
                  不过这不影响你启动和访问,在后面的操作中,我们会改

           4.访问JENKINS

                 在浏览器中输入http://127.0.0.1:8080/jenkins,就进入到jenkins了,具体ip和端口,根据你实际的环境来
                  
                 首先是输入初始密码,这个有提示,跟着提示找到文件,找到密码,输入即可
     
                 其次就是进入插件选择页面:
                  
                  我选择了Skip Plugin Installations,我跳过了插件的初始化,事实上,我并不想跳过。
                  如果不跳过,jenkins是有一个让你安装推荐插件的选项的。
                  
                  但是因为启动的那个异常,jenkins把获取插件的地址从http改成了https,而war包没有改
                  导致你点击“推荐插件下载”的按钮时,根本没用。
                  
                  所以只能跳过了,后面我们可以自己装插件
     
                  
                  接下来就是创建一个admin用户,注意,创建完之后,之前的admin帐号会消失,初始密码的文件也不复存在了
                  所以,你这里输入的用户名,可以就是 admin

                  创建完成以后,就完成了Jenkins的安装和启动

    二、安装插件

           1. 修改连接地址

                  左侧点击系统管理,右侧选择管理插件,
                  

                   
                  选择“高级“面板:
                  
                   

                  拉下来,把http,改成https,点击“提交”,再点击“立即获取” 
                  


           2.安装MAVEN插件
                  为什么要安装maven插件?你点一下新建,是不是下面这个图
                  

                  如果之前你用过别人的jenkins的话,旧版的这里是有个创建maven 2/3项目,这么一个选项的,新版这里也是能选择创建maven项目的
                  你没有,是因为你没有安装maven插件,所以要安装maven插件,这样才能构建maven项目

                  还是,系统管理——插件管理——可选插件
                  这个时候,你应该是可以看到可选插件列表了,因为之前的操作,我们已经正确的修改了站点的url

                  在过滤中,输入maven,找到maven integration plugins:
                  
     
     
                  勾选,安装,等待一些时间以后,你会发现安装出错了
                  
                  不要紧,看详细信息
                  

                  大致的意思就是,文件的签名验证不正确,不管它,注意看这个红色的路径。找到这个文件,打开它
                  
                   把这个路径复制下来,放到浏览器,就可以把这个插件下载下来。
                   我的建议是,在本地建一个jenkins的关于maven插件的目录,把跟maven相关的插件都放到这个目录下
                               
                   其它几个插件也一一找到对应的文件,找到url,下载
                   然后手动上传插件。上传插件的在:系统管理——管理插件——高级,你可以看到上传插件的地方
                  
                   注意,上传的顺序,要跟报错的顺序一样,因为这些插件都是有依赖的先后顺序的
                   不过即使顺序错了也没关系,系统会提示你的:
                  
     
                   安装完毕以后,你就可以创建maven项目了
                  
           3. 安装SVN插件
                   安装SVN插件的方式跟安装Maven插件的方式是一样的,SVN插件的名字叫做:Subversion Plug-in
                   安装完SVN后,你在新建项目的时候,源码管理这里就多出一个Subversion的选项
                  
           4. 安装Deploy插件
                   安装Deploy插件的方式跟安装Maven插件的方式还是一样的,Deploy插件的名字叫做:Deploy to container Plugin
                   安装完SVN后,你在新建项目的时候,构建后操作这里,下拉选项里会多出一项Deploy war/ear to a container
                  

    . 配置JDK和MAVEN
                  在创建项目之前,先要配置JDK和Maven
                  点击,系统管理——Global Tool Configuration  
                  
                   仿照下面的图配置就可以
                  
                                  
                  仿照我上面的方式,写入你自己的配置就可以

     
           2. 创建构建项目
                   废话不多说了,仿照我下面的配置就可以了  
                  
                  
                   这里说明下,             
                   第一个是SVN的地址,
                   第二个是Credentials,其实就是你的SVN帐号和密码,一开始这里肯定是没有的,需要你点击add添加
                  
                   把你的SVN帐号和密码加进去就好了
                  
                  
                   
                  
                  
                  
                  这里需要说明下,构建后操作,把通过maven命令打好的war包,copy到tomcat中,
                  这要求tomcat开启热部署,说白了就是在tomcat的conf目录下的tomcat-users.xml中加入tomcat的用户密码
                  
                  
                  上面面这段话,你可以完全照抄,当然用户名和密码根据你自己的需要来配置
                  这里设置的用户名和密码,必须和你填入上面Deploy to cotainer板块中的Manager user name和password一致
                  另外,关于Deploy插件,虽然写着只支持到tomcat7.x,但实际上,8.x的tomcat它照样可以支持

                  
           3. 开始构建             
                  至此,一个构建项目创建完毕,赶紧点一下构建按钮试试吧:
     
                 
                  
                  


    变更:上面的方式,最后的部署采用的是tomcat的热部署,这种方式有一个极大的弊端,就是发布多次之后,内存会持续上涨。
    所以这并不是一种好的方式。
    一种更加好的方式是使用脚本,将tomcat关闭,然后把webapps下的旧的部署应用删除,再把新的war包放过来,然后启动

    所以,我们这里需要用到另外一个插件:PostBuildScript:
    只要把你自己写好的shell脚本放进来就可以了。
    当然这里需要你对shell编程有一些了解

    关于这个deploy.sh的实现,大家可以参考这篇文章:http://www.linuxidc.com/Linux/2016-01/127258.htm
  • 相关阅读:
    【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
    【Java EE 学习 35 下】【struts2】【struts2文件上传】【struts2自定义拦截器】【struts2手动验证】
    【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
    【Java EE 学习 34】【struts2学习第一天】
    【JavaScript中的正则表达式】
    【Java EE 学习 33 下】【validate表单验证插件】
    【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
    【Java EE 学习 32 下】【JQuery】【JQuey中的DOM操作】
    【Java EE 学习 32 上】【JQuery】【选择器】
    【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
  • 原文地址:https://www.cnblogs.com/smail-bao/p/6019417.html
Copyright © 2011-2022 走看看