Jenkins+Maven+Git+Email+SSH实现持续自动化构建部署
1、下载Jenkins 下载地址:https://jenkins.io/index.html 因为我用的是windows操作系统,也没有下载tomcat,所以直接下载windows版本后双击进行安装。当然你也可以下载war包,放到tomcat/webapps下,然后启动tomcat来使用,都一样。 2、安装Jenkins 双击下载的je
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、执行构建
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)