首先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. python并发编程&多进程(一)

    本篇理论居多,实际操作见:  python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行) ...

  2. Android系统移植与调试之------->如何修改Android手机NFC模块,使黑屏时候能够使用NFC

    我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...

  3. Js用户引导插件bootstrap-tour

    1.demo直接贴上来了,有什么不懂的,直接去官网上看,地址:http://bootstraptour.com/. 2.这个bootstrap-tour插件的版本是v0.12.0,复制下来代码,引入库 ...

  4. JavaScript你所不知道的困惑(3)

    版权声明:本文出自水寒的原创文章.未经博主同意不得转载. https://blog.csdn.net/lxq_xsyu/article/details/25600011 困惑一: window.col ...

  5. PL/SQL连接ORACLE失败,ORA-12154: TNS: could not resolve the connect identifier specified

    项目需要使用ORACLE,安装了oracle之后,使用PL/SQL连接,先是提示NOT logger  ,后续不知道改了什么提示解析服务器id失败,重新装了之后更狠的直接来了个空白提示 一.安装PLS ...

  6. git在IDEA中的使用

    学习资料: http://blog.csdn.net/autfish/article/details/52513465  (关于提交的讲解) http://blog.csdn.net/ck443870 ...

  7. Yii2 注册表单验证规则 手机注册时候使用短信验证码

    public function rules() { return [ ['username', 'filter', 'filter' => 'trim'], ['username', 'requ ...

  8. yii2弹出层

    bootstrap http://getbootstrap.com/javascript/#modals https://github.com/lichunqiang/yii2-sweet-submi ...

  9. Loadrunder脚本篇——web_custom_request做接口测试

    一.POST + JSON格式参数 例: web_custom_request("create", "URL=http://xxx.xxx.x.xx:1600/ditui ...

  10. 027_编写MapReduce的模板类Mapper、Reducer和Driver

    模板类编写好后写MapReduce程序,的模板类编写好以后只需要改参数就行了,代码如下: package org.dragon.hadoop.mr.module; import java.io.IOE ...