• jenkins + svn +maven +jar 部署


    Jenkins实现SVN+Maven+Java项目的持续集成

     

    Jenkins 2.46.1

    Centos 7.3

    JDK 7

    安装jdk/maven/svn

    在Jenkins所在的Linux机器安装jdk和maven,步骤就不说了,下面是环境变量:

    复制代码
    export JAVA_HOME=/usr/local/jdk1.7.0_65
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
    
    export M2_HOME=/usr/local/apache-maven-3.0.5
    export PATH=$M2_HOME/bin:$PATH
    复制代码

    注意:maven的conf/settings.xml配置应该是自己项目的,这里也省略了;

    svn直接用yum安装即可:

    # yum install svn -y

    安装Jenkins插件

    浏览器登录Jenkins,进入插件管理,安装下面三个插件:

    Maven Integration plugin
    Subversion Plug-in
    Publish Over SSH

    同时会有其他依赖的插件安装,若有安装失败的就去http://updates.jenkins-ci.org/download/plugins下载后在“高级”那里上传上来即可;

    都安装完成后重启下Jenkins:

    # systemctl restart jenkins

    在Jenkins配置jdk/maven/svn

    浏览器登录Jenkins,进入“系统管理” -> “Global Tool Configuration”,配置jdk和maven后保存:

     下面创建一个maven类型的任务(job):

    (填入svn信息)

    (添加svn用户:输入username和password即可)

    (构建触发器,H/5 * * * * 表示每5分钟检查一次,如果svn有更新就进行一次构建)

    (maven参数)

    最后点击“保存”按钮,然后会进入这个新建的任务页面,点击“立即构建”试试:

    (第一次构建遇到过报错:SVNAuthenticationException: svn: E170001: Authentication required for 'reps',进到配置里重新选一下svn用户即可)

     自动部署

    自动检测svn并构建仍然不够,还需要自动部署和重启;

    首先需要配置Jenkins所在Linux到部署Linux的免密登录,假设两者ip分别为192.168.1.111和112,则在111上执行命令:

    (命令1有交互按自己的需求填写,简单的就全部直接回车)

    (命令2需要输入112的root密码)

    # ssh-keygen -t rsa
    # ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.112

    接着在浏览器,进入“系统管理” -> “系统设置”,配置SSH:

    然后再这个SSH配置的下方增加112机器的配置:

    下面进入前面新建的任务的配置中,在“增加构建后操作步骤”中选择“Send build artifacts over SSH”:

     

    强调一,目标文件,这里是任务路径下的相对路径,与浏览器中任务的工作空间看到的路径一致;

    强调二,传输到目标路径,这个是“系统设置”中那个“远程工作目录”的相对路径,比如这里就是把file.zip传到/usr/local/assembly/;

    保存后再次构建,构建完成后,在112机器上检查:

    # ll /usr/local/assembly/file.zip
        -rw-r--r-- 1 root root 25052989 Apr 15 15:53 /usr/local/assembly/file.zip

    实现的效果:对这个maven工程,每五分钟检测svn,若有提交则构建并更新和重启;

  • 相关阅读:
    网络受限下,使用Nexus要解决的两个问题
    Nexus远程Maven仓库索引下载教程
    maven--私服的搭建(Nexus的使用)
    maven命令/依赖/聚合
    mybatis常用jdbcType数据类型
    Lombok 安装、入门
    jquery append 动态添加的元素事件on 不起作用的解决方案
    Maximum Sum on Even Positions
    哈密顿
    计算几何基础
  • 原文地址:https://www.cnblogs.com/chengjunhao/p/7270183.html
Copyright © 2020-2023  润新知