本文主要是介绍jenkins+maven+svn 自动化布署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
环境:linux 6.5
一、下载jenkins 安装jdk1.8
地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。
下载war包 java -jar jenkins.war 或者tomcat来部署jenkins。本人使用的是第一种方式
二、配置maven。
下载maven。
mkdir /usr/local/maven
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
配置环境变量
tar -xf apache-maven-3.3.9-bin.tar.gz -C /usr/local/maven
vim /etc/profile
export M2_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
source /etc/profile
配置setting.xml私有maven仓库。
三、配置Jenkins
1、打开http://ip:80进入里面没有数据,我们需要创建job,
然后提交
第一次会有有红色警告信息提示输入用户名和密码验证svn
然后可以配置自动构建的计划任务列如
假设我们想让项目中每天20点自动构建一次,只需要在Build Triggers中选择Build periodically,并在Schedule中输入 0 20 * * *。
配置到这里,可能有人发现在Build配置节点,有红色错误信息,提示
Jenkins needs to know where your Maven2 is installed.
Please do so from the system configuration
这是因为Jenkins找不到maven的原因,点击"system configuration",是system configuration的maven配置中添加maven目录就OK,如下图:
保存好所有配置后,你配置的job就完成了。
接下来是我们来配置当项目构建失败了系统发送邮件通知。
填写邮件服务器的信息以及你的用户名,这是本公司的邮件服务器,除了用户名和密码更改你本来的就行了
配置完毕我们可以test
然后在回到我们配置的job里面
四、配置自动部署应用。
首先我们来安装插件
选择“系统管理”菜单的“管理插件”:
找到插件
点击安装这两个插件(maven插件)。
接下来
配置ssh信息
然后在回到工程配置里面
/root/jenkins.sh是本人编写的shell脚本。shell内容可以自己定义:
列如一个最简单的shell(很多其他内容省去)
#!/bin/sh
#关闭真正运行的进程
kill -9 `ps -ef | grep -w tomcat|grep -v grep |awk '{print $2}'`
#copy API工程的配置文件
cp /root/.jenkins/workspace/cf-sms/target/cf-sms-1.0.0.war /root/tomcat/webapps/
#重启tomcat
sh /root/tomcat/bin/startup.sh
然后访问自己的工程
注:归档回滚配置
export BUILD_ID=dontKillme
case $deploy in
update)
mvn clean install -Dmaven.test.skip=true
sh /home/dubbo/lt_project_workspace/lt-jenkins.sh
;;
rollback)
echo "version:${version}"rm -f /root/.jenkins//workspace/lt-bs/dolphin-longtian-web/target/dolphin-longtian-web.war
cp -f /root/.jenkins/jobs/lt-bs/builds/${version}/archive/dolphin-longtian-web/target/dolphin-longtian-web.war /root/.jenkins//workspace/lt-bs/dolphin-longtian-web/targetrm -f /root/.jenkins//workspace/lt-bs/dolphin-longtian-basic-serivce/target/dolphin-longtian-basic-service.war
cp -f /root/.jenkins/jobs/lt-bs/builds/${version}/archive/dolphin-longtian-basic-service/target/dolphin-longtian-basic-service.war /root/.jenkins//workspace/lt-bs/dolphin-longtian-basic-service/targetsh /home/dubbo/lt_project_workspace/lt-jenkins.sh
;;
*)
exit
;;
esac
cd /root/.jenkins/jobs
find ./ -name *.war* -mtime +30 -exec rm -fr {} \;
#!/bin/sh
set -m
#关闭service-tomcat运行的进程
kill -9 `ps -ef | grep -w lt-tomcat-service-8200|grep -v grep |awk '{print $2}'`
#copy API工程的配置文件
cp /root/.jenkins/workspace/lt-bs/dolphin-longtian-basic-service/target/dolphin-longtian-basic-service.war /home/dubbo/lt-tomcat-service-8200/webapps/
rm -fr /home/dubbo/lt-tomcat-service-8200/ROOT
#重启service-tomcat
sh /home/dubbo/lt-tomcat-service-8200/bin/startup.sh#关闭web-tomcat运行的进程
kill -9 `ps -ef | grep -w lt-tomcat-web-8201|grep -v grep |awk '{print $2}'`
#copy API工程的配置文件
cp /root/.jenkins/workspace/lt-bs/dolphin-longtian-web/target/dolphin-longtian-web.war /home/dubbo/lt-tomcat-web-8201/webapps/
rm -fr /home/dubbo/lt-tomcat-web-8201/ROOT
#重启web-tomcat
sh /home/dubbo/lt-tomcat-web-8201/bin/startup.sh
这篇关于jenkins+maven+svn 自动化布署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!