`
baobeituping
  • 浏览: 1068619 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

jenkins+maven+svn实现简单的一键发布

 
阅读更多

前言

     在安装之前,我想说明一下本文的目的,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
              
 

三、创建构建项目
 
       1. 配置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

--------------------- 本文来自 pein_zero 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/pein_zero/article/details/52597615?utm_source=copy 

分享到:
评论

相关推荐

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    搭建Jenkins+Maven+SVN+Tomcat的持续集成环境,需要按照以下步骤: 1. 环境准备 - JDK1.8.0_131,版本不低于1.7,使用最新版本以获得最佳性能和最新特性。 - Apache Maven 3.3.9,不推荐使用3.5.0版本,以免出现...

    Jenkins+Maven+Windows+svn+sonarqube持续集成平台搭建图文指南

    Jenkins+Maven+Windows+svn+sonarqube持续集成平台搭建图文指南

    Jenkins+Maven+SVN+Tomcat持续集成实战

    本文将详细讲解如何利用Jenkins、Maven、SVN和Tomcat等工具进行网站的持续集成实践,以实现代码的自动上传与部署。 1. 传统网站部署流程 传统网站的部署过程繁琐且耗时,包括需求分析、原型设计、编码、测试、内部...

    jenkins+maven+svn+springboot实现一件打包发布

    ### Jenkins + Maven + SVN + SpringBoot 实现一键打包发布 #### 安装 Jenkins 1. **下载 Jenkins** 首先前往 Jenkins 官网下载 Jenkins,官网上提供了两个下载选项: - 如果用于公司环境,建议选择左侧的企业...

    jenkins+svn+maven+java-配置+安装+部署(windows版)

    ### Jenkins + SVN + Maven + ...通过以上步骤,可以实现基于Jenkins、SVN、Maven和Java的自动化构建和部署流程。这种方式大大提高了开发效率和软件质量,减少了人为错误,是持续集成/持续部署(CI/CD)的重要实践之一。

    jenkins + svn+maven持续集成

    Jenkins、SVN 和 Maven 是实现持续集成的三个关键组件。 1. **Jenkins**: Jenkins 是一个开源的持续集成工具,它允许开发者自动化构建、测试和部署软件。在本实验中,我们首先需要下载并安装 Jenkins。可以从官方...

    Jenkins+Maven+SVN+Tomcat持续集成实战视频.zip

    目录 1、传统网站部署流程 2、主流网站部署流程及方法 3、Jenkins持续平台安装 4、Jenkins持续集成MAVEN讲解 5、Jenkins持续集成JOB工程设置 6、Jenkins持续集成网站构建实战...Jenkins+Maven+SVN+Tomcat持续集成实v1战

    持续集成环境maven+nexus+jenkins+svn搭建

    在这个环境中,Maven、Nexus、Jenkins 和 SVN 等工具都是不可或缺的组件。下面我们将详细介绍如何使用这些工具来搭建一个完整的持续集成环境。 Maven 安装 Maven 是一个基于 Java 的项目管理和 build 工具,它提供...

    jenkins+springBoot+maven+svn 部署一键打包发布

    总结了我花了一周配置好jenkins的一些坑 这些东西都是自己话时间弄的 网上搜不到答案哟 随便一个坑都能卡几天~~如果有疑问可以留言看到就回

    Jenkins+SVN+MAVEN+SHELL实现项目一键发布

    本篇文章将深入探讨如何利用Jenkins、Subversion(SVN)、Maven和Shell脚本来实现项目的自动化一键发布,帮助开发者理解并掌握这一高效的工作流程。 首先,Jenkins是一款开源的持续集成工具,它能够监控和记录软件...

    jenkins+maven+nexus+mantisBug

    【标题】"jenkins+maven+nexus+mantisBug"揭示了四个关键的IT技术领域,它们在...总之,这个集成环境利用Jenkins、Maven、Nexus和MantisBug,实现了一套完整的持续集成和缺陷管理流程,旨在提升软件开发的效率和质量。

    Jenkins+Maven+svn+Tomcat入门文档

    Jenkins+Maven+svn+Tomcat入门文档,系统详细的讲述开发测试环境的环境搭建

    jenkins+svn+maven构建

    Jenkins提供了两种部署方法:通过Jenkins+SSH+Shell实现代码发布及回滚,也可以通过SVN回滚。第一种方法使用Jenkins的SSH插件连接远程主机,实现代码发布和回滚。第二种方法使用Jenkins的SVN插件连接SVN版本控制系统...

    Jenkins+Maven+Svn实现代码自动打包与发布.docx

    本文主要讲解如何通过Jenkins、Maven和Svn这三个工具实现代码的自动打包与发布。首先,我们需要理解这三个工具的基本功能: Jenkins 是一个开源的持续集成(Continuous Integration, CI)服务器,用于自动化各种...

    Jenkins+Maven+SVN+Tomcat持续集成实战v2.pdf

    Jenkins、Maven、SVN和Tomcat是现代软件开发...通过Jenkins、Maven、SVN和Tomcat的组合使用,可以实现软件开发过程中代码的持续集成、自动化测试、自动部署等功能,从而提升软件开发的效率和质量,加快软件交付的速度。

    Jenkins+Maven+SVN快速搭建持续集成环境.docx

    通过上述步骤,可以实现 Jenkins 与 Maven 和 SVN 的快速集成,搭建出一套完整的持续集成环境。这不仅提高了开发效率,还保证了代码质量和项目的可持续性。对于团队协作而言,持续集成有助于减少沟通成本,提高整体...

    window平台Jenkins+maven+svn+wildfly12 自动发布系统.docx

    【Window平台Jenkins+maven+svn+wildfly12自动发布系统】 在Windows操作系统中,构建一个自动化的Java Web项目发布流程是提高开发效率的重要手段。这个流程通常涉及到Jenkins持续集成工具、Maven构建管理工具、...

    Jenkins + Maven + SVN + SSH持续集成【原创】

    ### Jenkins + Maven + SVN + SSH持续集成 #### 知识点概述 本文旨在介绍如何利用Jenkins、Maven、SVN以及SSH等工具构建一套完整的持续集成环境。通过这一过程,可以实现自动化构建、测试及部署,从而提高开发效率...

Global site tag (gtag.js) - Google Analytics