首先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的主页。

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

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

进入系统设置:

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

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


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


服务器端脚本:

文件处理脚本:

#! /usr/bin/expect

spawn sudo su – #切换到超级管理员以进行文件操作

expect "*#"

send "sudo pkill -9 java\r" #杀掉原有java进行

expect "*#"

send "sudo mv -f /home/liangxuezhi/cdnportal.jar /usr/local/CdnPortal/cdnportal.jar\r"

expect "*#"

send "su liangxuezhi\r" #由于脚本执行java会导致切换用户的文件读入权限问题所以切回原用户执行脚本

expect "*#"

send "/usr/local/CdnPortal/run.sh\r" #执行新脚本

expect "*#"

send "tail -f /home/liangxuezhi/nohup.out\r" #查看命令

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文件中的配置一致,配置完成之后点击部署即会看到类似下图的效果:

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

Jenkins自动化部署及代码检查配置应用的更多相关文章

  1. Jenkins中部署Sonar代码检查

    1 安装并启动sonarqube docker pull sonarqube:7.5-community docker run \ --name sonarqube \ --network ci \ ...

  2. Jenkins自动化部署代码

    通过jenkins自动化部署项目代码可以大幅度节省打包上传部署的时间,提高开发测试的工作效率 ========== 完美的分割线 =========== 1.Jenkins是什么 1)Jenkins是 ...

  3. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  4. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  5. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  6. Jenkins自动化部署入门详细教程

    大纲 1.背景 在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试: 或者前后端分离后,经常会修改接口,然后重新部署 ...

  7. Jenkins 自动化部署上线

    转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...

  8. AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

    一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...

  9. Windows环境下实现Jenkins自动化部署

    详见:https://blog.csdn.net/Try_harder_every_day/article/details/79170065 Jenkins自动化部署: 几条具体的思路:1.开发人员将 ...

随机推荐

  1. Java基础—运算符(转载)

    转载自:Java运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运 ...

  2. Python学习笔记3_数据类型

    Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...

  3. 剑指offer 面试20题

    面试20题: 题目:表示数值的字符串 题:请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123 ...

  4. jQuery:自学笔记(4)——事件与事件对象

    jQuery:自学笔记(4)——事件与事件对象 jQuery中的事件 什么是事件 所谓事件,就是被对象识别的操作,即操作对象队环境变化的感知和反应,例如单击按钮或者敲击键盘上的按键. 所谓事件流,是指 ...

  5. ionic资源网站

    http://ionichina.com/topic/570b1f4ecd63e4247a7cfcf3 http://doc.ionicmaterialdesign.com/#intro http:/ ...

  6. 值得关注的10个Python语言学习博客

    大家好,还记得我当时学习python的时候,我一直努力地寻找关于python的博客,但我发现它们的数量很少.这也是我建立这个博客的原因,向大家分享我自己学到的新知识.今天我向大家推荐10个值得我们关注 ...

  7. 优化MD5和IP在(MySQL)数据库中的存储

    1.MD5在MySQL数据库中的存储 用CHAR(32)来存储MD5值是一个常见的技巧.如果你的应用程序使用VARCHAR(32),则对每个值得字符串长度都需要花费额外的不 必要的开销.这个十六进制的 ...

  8. first application

    <!DOCTYPE html> <html> <head> <title>Create a Map</title> <meta htt ...

  9. 常用模块----time&random&hushlib&os

    模块:本质就是一个.py文件 分为三部分: 内置模块 第三方模块 自定义模块(模块调用,包) 加载顺序:内置模块——>自定义模块   time 模块 # <1> 时间戳 >&g ...

  10. 主攻ASP.NET.4.5 MVC4.0之重生:网站更换外观皮肤界面样式

    CommonController---_Admin.cshtml SysUserRepository sysuserrepository = new SysUserRepository(); publ ...