美文网首页
jenkins自动化部署jar

jenkins自动化部署jar

作者: 给代码点颜色 | 来源:发表于2020-06-17 17:52 被阅读0次

    简介

    jenkins版本:2.222.4-1.1

    文中提到的脚本见:https://www.jianshu.com/p/0d1e4ac23036

    安装配置

    下载

    地址:https://www.jenkins.io

    依赖工具
    • maven
    • git
    • jdk

    需要自行安装

    运行

    java -Xmx512m -jar jenkins.war -Dhudson.util.ProcessTree.disable=true --httpPort=9876
    

    访问地址

    http://{ip}:{port}

    配置

    位置:系统管理->全局工具配置

    maven配置

    settings文件路径配置

    自动化部署

    新建任务

    输入任务名称,选择<构建一个自由风格的软件项目>,确认

    配置

    源码管理
    1. 选择git,复制你项目的git地址,如:http://{ip}/{group}/{project}.git
    2. 添加Credentials->类型选择<Username with password>,输入用户名密码(git账户)和ID->添加
    3. 指定分支,如:*/master
    构建触发器

    GitHub hook trigger for GITScm polling
    需要在git服务配置webhook:http://{jenkins-ip}:{jenkins-port}/git/notifyCommit?url=jenkins配置的git项目地址
    位置:项目git地址->settings->Integrations

    git上提交之后会触发通知,如果需要触发通知之后自动构建,还需要勾选<轮询SCM>,不用配置日程表。

    轮询SCM
    配置日程表之后,如有更新,会在日程表配置时间进行构建。

    构建

    顶层Maven目标
    选择maven版本(全局工具配置的maven),目标一般写:clean package

    高级->POM写$WORKSPACE/pom.xml,属性写:-Dfile.encoding=UTF-8等。配置文件选全局工具配置settings.xml

    增加构建步骤
    选择<执行shell>,配置如下:

    #项目预部署所在目录
    server_path=/xxx
    #项目名称,不带后缀
    server_name=xxx
    #此配置构建项目的根目录
    build_project=${WORKSPACE}
    
    #备份之前构建的项目
    cd $server_path
    ./bak.sh
    
    #移动项目到预部署目录
    cd $build_project
    \cp target/${server_name}*.jar $server_path
    
    #把构建好的项目传到对应的服务器上
    cd $server_path
    #避免启动的进程被杀掉
    JENKINS_NODE_COOKIE=dontKillMe
    ./remote_ci.sh
    

    jenkins执行完脚本之后会把脚本创建的进程kill掉,避免的方式目前有三种:

    1. 启动的时候加上-Dhudson.util.ProcessTree.disable=true
    2. shell内加JENKINS_NODE_COOKIE=dontKillMe
    3. shell内加BUILD_ID=dontKillMe
    构建完成之后自动打tag

    增加构建后操作步骤->git publisher。

    如下:


    图片.png

    相关文章

      网友评论

          本文标题:jenkins自动化部署jar

          本文链接:https://www.haomeiwen.com/subject/tpwsxktx.html