Jenkins+Tomcat+Git解决Java项目自动化部署

Posted treasure716

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins+Tomcat+Git解决Java项目自动化部署相关的知识,希望对你有一定的参考价值。

网上很多关于jenkins做项目的自动化部署,各有各的方法,层出不穷,下面是我在自己的项目上做的自动化部署,很简单,可当做入门。
声明一下项目环境:非maven项目,平常直接打包成war包丢进tomcat中,tomcat自动重启就完事了,但是需求是不断被提出的,这就很蛋疼了。

一、前言

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

  1. 持续的软件版本发布/测试项目。
  2. 监控外部调用执行的工作。

二、Jenkins的安装与配置

  1. 下载jenkins
    jenkins提供多种安装方式如下,本文采用第二种方式。下载地址:[https://jenkins.io/download/ ](https://jenkins.io/download/ ])
  • jenkins.msi安装 就像我们平时安装软件一样,点点点。
  • jenkins.war 包 既然是war包,不用说大家都知道怎么启动了,扔到tomcat就行了。
  1. 安装jenkins
    war直接会生成项目文件夹,不然就重启一下tomcat。默认访问路径:http://localhost:8080/jenkins
  • 进入,填写复制的密码

    这些基本没啥问题,就不累述了。

三、项目的配置

  1. 下载插件
  • 下载Generic Webhook Trigger Plugin插件,实现检测git仓库是否有更新来决定是否构建。也就是说,我们提交了代码Jenkins并不会马上知道,那么我们可以通过webhook来解决。Jenkins的插件中心已经有对gogs的支持,真的是非常赞。
  1. 因为我们做的不是maven项目,不用再进行相关系统配置,主要是检查全局工具配置中,git等是否生效,不生效的话直接在全局工具配置中红字提示的,如我的git插件没安装成功,所以我还得yum install git一下。

  2. 新建项目
    选择GIT,配置仓库地址,credentials配置Git的用户密码

    其他都基本都默认,构建设置那里填写自定义token参数:abc654321

构建 添加bash命令,下面代码只为示范,意思为:先构建工程,输出war包,等待30秒,然后删除移动一下文件夹(因为jar -xvf编译打包中我将目录下内容全部编译打包了,项目文件夹布局就会错误)。此外也可以通过安装Post build task插件,实现构建完成后执行代码

cd /root/.jenkins/workspace/iguangxi
jar -cvf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi.war ./
sleep 30
rm -rf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/{.git,.settings,META-INF,src,.classpath,.project,iguangxi.sql,bin}  
mv /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/WebRoot/* /usr/local/apache-tomcat-gxwhy/webapps/iguangxi
rm -rf /usr/local/apache-tomcat-gxwhy/webapps/iguangxi/WebRoot

四、构建项目后及相关事项

观察构建日志,确定构建成功

以上是关于Jenkins+Tomcat+Git解决Java项目自动化部署的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins + Git 项目中 主机配置

「Jenkins+Git+Maven+Shell+Tomcat持续集成」经典教程

Jenkins自动化部署

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

jenkins安装配置一文搞定

Jenkins + Git + Maven + tomcat集成环境搭建