首先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. Nuxt使用Vuex

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 基础知识这里不再重述,学习的话请自行到官网 ...

  2. HBA卡 和 RAID卡

    HBA卡: 只从HBA的英文解释HOST BUS ADAPTER(主机总线适配器)就能看出来,他肯定是给主机用的,一般HBA就是给主机插上后,给主机扩展出更多的接口,来连接外部的设备.大多数讲到HBA ...

  3. JQuery 操作 checkbox 二次赋值无效 attr ----> prop

    CheckBox .attr('checked',false);  Chrome和火狐第二次点击无效. 然后解决了把attr 改成了 prop 以后操作属性的时候各位记下,用prop 因为大家用的都是 ...

  4. iOS Xcode 8 打包上架 配置文件问题 此构建版本无效 推送问题 攻克 刚刚 waiting for review

    煎熬...  本来xcode 7 打包正在审核了 还要修改一处购买问题  此时 xcode已经升级到xcode 8 了 升级后 很神奇 应用没报错 很好的运行 (网上很多说xib storyboard ...

  5. SpringBoot整合Redis集群

    一.环境搭建 Redis集群环境搭建:https://www.cnblogs.com/zwcry/p/9174233.html 二.Spring整合Redis集群 1.pom.xml <proj ...

  6. The Collections Module内建collections集合模块

    https://www.bilibili.com/video/av17396749/?p=12 Python函数式编程中的迭代器,生成器详解 课程内容 1.iterators are objects ...

  7. 用C#编写猜数、九九乘法表‘、迷宫

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  8. TIJ读书笔记02-控制执行流程

      TIJ读书笔记02-控制执行流程 TIJ读书笔记02-控制执行流程 if-else 迭代 无条件分支 switch语句 所有条件语句都是以条件表达式的真假来决定执行路径,也就是通过布尔测试结果来决 ...

  9. opencv manager package was not found 解决办法

    http://blog.csdn.net/zjck1995/article/details/50358817 从网上好不容易找到的一个方法 1 解压OpenCV sdk 压缩包 2 eclipse 导 ...

  10. php的正则表达式

    这篇文章介绍的内容是关于php的正则表达式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下. 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配 ...