• Jenkins自动化部署及代码检查配置应用


    首先jenkins是基于java开发的一种持续集成工具,它的存在和实际应用使得我们在开发过程中节省了很多宝贵时间,既然基于java,所以java环境是必须的。

    其次Tomcat是针对Java的一个开源中间件服务器(容器),基于Java Web的项目需要借助Tomcat 才能运行起来。

    安装java环境和tomcat的过程就不在这里赘述了,值得注意的是,Jenkins,java,tomcat三者的版本要尽量吻合,不要相差太远,例如如果tomcat用的6.0,java最好不要使用版本9.0以上或者更高的。

    安装 Jenkins    Jenkins官方网站:https://jenkins.io/,注意:实际在大型项目中jenkins服务一般都存在于专用的Linux服务器上。博主实际开发用的windowsOS,为了节省开发时间提升开发效率,所以这里的安装过程是在windowsOS上的,但实际的配置和应用方法是一样的。

    通过上面的Jenkins官网进行下载安装Jenkins,启动服务会提示输入password,进入提示的密钥目录复制密码即可,之后jenkins会开始安装各种主流插件。需要一些时间… 最后一步配置,创建第一个管理员账号。最终即可进入jenkins的主页。
    image

    Jenkins的操作界面十分友好,有基础开发经验的人很容易上手配置。这里简单的进行配图解释一下:

    进入系统管理可以看到如下选项:

    image

    进入系统设置:

    可以看到一些基本的配置选项:例如maven的配置;远程服务的配置,这里举出了两个配置的例子,具体开发中可能不同服务的协议和连接方式不通,我们可以根据具体的开发环境在Jenkins上选择并安装指定插件即可,下面也会讲到简单的插件安装。

    image

    image

    插件管理同样在系统设置中进行配置管理:

    image
    可以清楚的看到可更新,可选插件,已安装插件。同样在高级配置里还可以配置代理服务,上传插件,和升级站点。博主这里后安装的两个插件已在上图中标出。通过上图插件的功能可以完成静态代码检查操作,实际的项目开发流水线中的核心代码,静态检查等配置也是应用的这些功能。下面以实际项目案例进行举例:
    新建maven项目,博主的配置基本如下,具体执行操作可能要结合bash或者shell脚本完成,所以需要简单的编写linux执行脚本能力,下面给出简单的脚本示例:
    image

    image

    image

    image
    服务器端脚本:

    文件处理脚本:

    #! /usr/bin/expect
    spawn sudo su – #切换到超级管理员以进行文件操作
    expect "*#"
    send "sudo pkill -9 java " #杀掉原有java进行
    expect "*#"
    send "sudo mv -f /home/liangxuezhi/cdnportal.jar /usr/local/CdnPortal/cdnportal.jar "
    expect "*#"
    send "su liangxuezhi " #由于脚本执行java会导致切换用户的文件读入权限问题所以切回原用户执行脚本
    expect "*#"
    send "/usr/local/CdnPortal/run.sh " #执行新脚本
    expect "*#"
    send "tail -f /home/liangxuezhi/nohup.out " #查看命令
    set timeout 300000
    expect "*BootApplication使用的profile为:test" #命令终止符

    执行服务脚本:

    nohup /usr/local/java/jdk1.8.0_161/bin/java -jar /usr/local/CdnPortal/cdnportal.jar & #后台启动java包服务

    如果想要看到项目的静态代码检查信息可以做如下配置,注意maven打包命令和pom文件中的配置一致,配置完成之后点击部署即会看到类似下图的效果:

    image

    image


    本次博文到这里就结束了,整体来说jenkins的配置并不难,可能企业中偏向于将这部分工作交由运维管理。但是当在我们实际开发过程中,作为一个后台开发也可以在开发环境自己本机结合svn或者git,maven这些配置达到提升我们的开发效率。希望本篇文章对于新接触的同行朋友有所帮助,感谢您看到这里。

  • 相关阅读:
    无刷电机控制基本原理
    SPI 串行Flash闪存W25Q128FV 的使用(STM32F407)_软件篇
    CAN总线简介
    RS-232串口特性
    PLSQL 安装教程
    JS 常用正则表达式备忘录
    JS数组去重
    Js中Map对象的使用
    JS操作字符串
    前端小技巧
  • 原文地址:https://www.cnblogs.com/ldy-blogs/p/8777466.html
Copyright © 2020-2023  润新知