自动化发布项目之jenkins + git + maven 自动化部署一个web项目

Posted 当以乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化发布项目之jenkins + git + maven 自动化部署一个web项目相关的知识,希望对你有一定的参考价值。

1.环境准备. 1.1需要在liunx环境上安装,部署相应的liunx环境 (jdk,防火墙,等等),自己百度解决哈.
1.2 软件准备工作 这里是我用到的相关软件 maven tomcat 和 jenkins的war包及jenkins的扩展插件
百度云地址:
链接:http://pan.baidu.com/s/1mhWmnSs 密码:p87z

附上jenkins的下载插件的地址(有些下载不了只能手动下载后上传了) http://mirror.xmission.com/jenkins/plugins/
下面我将相关软件上传到我的liunx机器上了.

2.搭建 相关 服务
2.1 搭建maven环境
解压 文件  tar -zxvf maven.tar.gz 进入文件内部 查看文件路径


编辑maven的环境变量
vim  /etc/profile
到文件最底部加入maven环境变量的如下内容:


2.2 搭建jenkins的相关服务 
解压tomcat 修改一个不会被占用的端口,设置一下tomcat的url编码格式为UTF-8


将jenkins的包解压,移动到tomcat的webapps中

在 profile中配置 jenkins_home

重新加载一下配置文件 
source /etc/profile
启动tomcat 查看日志输出文件 catalina.out,复制下来一个密码数字





接下来进入到这个界面.我们等待安装结束即可:

最后进入jenkins,界面如下,jenkins初步安装成功了:

可能会有很多没有安装成功的插件,不必担心,需要的我们再手动安装就行了
还有一个配置登录的帐号密码的界面,配置一下就行了,接下来是这个:

初步成功了! 3.配置 自动化部署
3.1插件的安装
我们配置的是 git + maven 方式的 自动化部署 所以git和maven的相关插件是必须的 还有一个ssh用于机器间的文件传送
我新建一个job 人品不好,没有maven工程的项目,我们需要安装一下maven 的插件

下面我们进入插件安装的页面:


我们要安装的插件有:
git我这是安装成功了的. 下载maven的安装时失败了,我们手动安装



maven的插件我已经上传到百度云中了,其实本地的jenkins中也是有maven的插件的,可以直接复制出来使用就行了 链接: http://pan.baidu.com/s/1kUXAkyr 密码:31gs

我们手动将插件上传安装






3.2 基本配置的部署
插件已经基本准备好了,下面我们还要在做一些基础的配置

要配置的有 jdk maven 和git 其中git需要在机器上安装



我们再机器上执行命令安装git: yum install git
安装完了 我的git在
/usr/bin/git 

将git配置上去:


再配置ssh相关的配置:



公共配置:

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径

Key:将私钥复制到这个框中

Disable exec:禁止运行命令



如图,我先填写了一台要远程操作的机器,下面我将两台机器间进行ssh免密码登录设置了: 参考: http://blog.csdn.net/sqh201030412/article/details/50513751 设置好后复制私钥放入即可:

下面新建一个maven项目,使用git来引入源码: 这里是一个demo地址: https://github.com/bingyue/easy-springmvc-maven



这里的文件夹可要创建好,最后那个是执行的脚本


这是我简单写的一个脚本,你需要改成相应的操作就行了. 关闭tomcat, 备份,清理,自动解压,启动tomcat 我这里只是演示能将war包传递过来,并且移动重命名了.

看执行结果:

好,到现在自动化部署就完成了.祝你成功!

最后 这是一份 脚本文件,可以参考一下.
链接:http://pan.baidu.com/s/1jICTJnw 密码:fvjz

以上是关于自动化发布项目之jenkins + git + maven 自动化部署一个web项目的主要内容,如果未能解决你的问题,请参考以下文章

jenkins发布普通项目配置自动上线自动部署

Jenkins之自动进行360加固

Git+Jenkins学习之路(十四)之自动化脚本部署实践

jenkins实战之发布一个php小的项目

持续集成GIT+jenkins+snoar——jenkins发布phpmaven项目

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