您的位置:首页 > 大数据 > 人工智能

Jenkins+Maven+Git+Email+SSH实现持续自动化构建部署

2016-10-14 10:53 996 查看
1、下载Jenkins

  下载地址:https://jenkins.io/index.html

  因为我用的是windows操作系统,也没有下载tomcat,所以直接下载windows版本后双击进行安装。当然你也可以下载war包,放到tomcat/webapps下,然后启动tomcat来使用,都一样。

  


2、安装Jenkins

  双击下载的jenkins.msi文件进行安装,一路Next即可,安装完成后,右击[我的电脑]->[管理],到服务中找到Jenkins,查看是否是正在运行状态,如下图所示:



  如果是正在运行状态,打开浏览器,输入http://localhost:8080回车,不出意外,就会看到Jenkins的界面了。


3、初始化Jenkins

  看到界面后,接着无非是创建管理员账号和安装一些插件,会耗费点时间,这里不过多描述。

4、安装插件

  手动安装Maven info plugin、Deploy to container Plugin、Email Extension Plugin、Git plugin、Publish Over SSH等插件。

  点击[系统管理->管理插件]

  


  选择[可选插件],在搜索框中输入插件名称后勾上,点击直接安装,安装后重启Jenkins.

  

5、系统设置

点击[系统管理->系统设置]:



设置一下管理员的邮件地址:



设置SSH端口:



设置Git用户名和邮箱:



设置邮件通知:





设置SSH:



设置完成后,不要忘记点击保存按钮。

6、安装JDK和Maven

点击[系统管理->Global Tool Configuration]:



配置JDK,首先在本机要安装上JDK(当然你也可以使用自动安装功能):



配置Maven,首先在本机要安装上Maven(当然你也可以使用自动安装功能):



配置完成后,点击保存按钮。

7、设置Credentials

从git服务器上拉取代码时用,这里是设置的git托管网站的用户名和密码



8、构建一个Maven项目

点击[新建]:



输入项目名称,选择构建Maven项目,点击OK:



7、项目配置

源码管理设置:



构建触发器:



构建命令:



构建设置:



部署项目:

(1)、在构建后操作中可直接把打成的war包部署至远程tomcat方式:



(2)、在Post Steps中,先用SSH把打成的war包上传至远程中某个目录,然后通过shell命令关闭远程tomcat,备份tomcat/webapps中旧项目,再删除这些旧项目,然后把新的war包拷贝到webapps中,最后启动tomcat方式:



shell命令如下(拷贝到文件中,修改成你自己的,注意文件后缀是.sh)

#!/bin/sh
TOMCAT_HOME="/home/cti/tomcat7";PROJECT="test";BAK_DIR=/home/cti/bak/$PROJECT/`date +%Y%m%d`;kill -9 $(lsof -i:80 |awk '{print $2}' | tail -n 1);mkdir -p "${BAK_DIR}";cp /home/cti/tomcat7/webapps/esoon.war "${BAK_DIR}"/esoon_`date +%Y%m%d%H%M%S`.war;rm -rf "${TOMCAT_HOME}"/webapps/esoon;rm -rf "${TOMCAT_HOME}"/webapps/esoon.war;sleep 3;cp /home/cti/esoon.war "${TOMCAT_HOME}"/webapps/esoon.war;sh /home/cti/tomcat7/bin/startup.sh


我不知道为什么,shell文件中我的不能回车,有回车会报错,所以我这里用;来分隔命令。

其中kill -9 (lsof -i:80 |awk '{print2}’ | tail -n 1);这句命令是kill掉80端口的tomcat,如果你的不是80,请修改成你的端口。

其他的比如目录,项目名称,备份方式,我不过多描述,自己看着修改。

构建或部署失败后邮件通知设置:



到此所有配置均设置完毕,去执行构建吧……

8、执行构建



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Jenkins git maven ssh email
相关文章推荐