网上很多关于jenkins做项目的自动化部署,各有各的方法,层出不穷,下面是我在自己的项目上做的自动化部署,很简单,可当做入门。
声明一下项目环境:非maven项目,平常直接打包成war包丢进tomcat中,tomcat自动重启就完事了,但是需求是不断被提出的,这就很蛋疼了。
一、前言
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
- 持续的软件版本发布/测试项目。
- 监控外部调用执行的工作。
二、Jenkins的安装与配置
- 下载jenkins
jenkins提供多种安装方式如下,本文采用第二种方式。下载地址:[https://jenkins.io/download/ ](https://jenkins.io/download/ ])
- jenkins.msi安装 就像我们平时安装软件一样,点点点。
- jenkins.war 包 既然是war包,不用说大家都知道怎么启动了,扔到tomcat就行了。
- 安装jenkins
war直接会生成项目文件夹,不然就重启一下tomcat。默认访问路径:http://localhost:8080/jenkins
- 进入,填写复制的密码
这些基本没啥问题,就不累述了。
三、项目的配置
- 下载插件
- 下载Generic Webhook Trigger Plugin插件,实现检测git仓库是否有更新来决定是否构建。也就是说,我们提交了代码Jenkins并不会马上知道,那么我们可以通过webhook来解决。Jenkins的插件中心已经有对gogs的支持,真的是非常赞。
-
因为我们做的不是maven项目,不用再进行相关系统配置,主要是检查全局工具配置中,git等是否生效,不生效的话直接在全局工具配置中红字提示的,如我的git插件没安装成功,所以我还得
yum install git
一下。
-
新建项目
选择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
四、构建项目后及相关事项
观察构建日志,确定构建成功