Jenkins自动部署Maven +tomcat+linux环境java项目并自动部署到外网
2017-07-18 15:06
1031 查看
Jenkins一种持续集成的工具,持续集成好处千万多,最重要的一条是自动化,避免我们做重复操作,我这里只讲持续集成自动化部署war到线上,其它什么定时编译,检查代码什么的,自己有空去研究。
jenkins有2种安装方式:
1.下载msi直接安装到本地
2.下载war,用java -jar jenkins.war方式启动。这种方式更灵活,可以将war放到阿里云上,然后在阿里云上搭建个持续集成环境。
去https://jenkins.io/上下载jenkins.war,最新的jenkins.war是2.70版本,他需要java8,其实最稳定版本是2.60.1,它可以在java7环境上跑。
下载msi安装包,一路下一步,最后安装成功会自动占用8080端口,直接在浏览器里访问http://localhost:8080/即可打,然后设置密码,创建帐号,注意这个帐号是本地帐号,只能在本机上使用,千万别以为是线上帐号哦。
安装环境:
1.Java7
2.点击“系统设置”->”管理插件”->“可选插件”里搜索安装几个插件
2.1 maven 插件
2.2 svn插件
2.3 deploy插件
2.4 publish Over SSH插件,连接线上环境使用的插件
其它插件根据需要下载安装,一般现在就够了,想学其它功能,宁可多下也不可少下。
3.参数配置,系统管理->系统配置
主目录配置:指定从svn下载下来的代码存放位置:
Publish over SSH:连接外网,自动上传及其它linux命令
4.2.JDK安装,注意最好不选点“自动安装”,直接选 本机java安装环境目录:
4.3 git配置,如果有需要就配置:
4.4 maven配置,不用选“自动安装”,配置maven环境:
至此全局配置完成,我们就可以环境项目持续集成了。
5.1新建工程,填个项目名,然后选择maven项目
5.2填项目名称,及描述
5.3 Maven Info Plugin Configuration配置,选“丢弃旧的构建”
5.4 源代码管理,选择subversion,填帐号及密码
5.5 如果在构建一个项目之前需要构建其它项目,那么就需要选“Pre Steps”,如果没有则跳过这一步。
填参数Goals:clean install
POM:XXX/pom.xml
JVM Options:-Xmx1024m
5.6 Build要构建的项目
Goals and options :clean package -Pstage -Dmaven.test.skip=true
设置maven配置文件
5.6.重头戏,自动化部署到外网:
“增加构建后操作步骤”选:“Send build artifacts over SSH”
Name:即在系统设置里配的服务器地址
Source files:要上传的文件,这里指定上传的是war,YUI_ADM_WAR/target/*.war
Remove prefix:指定需要过滤的文件夹,YUI_ADM_WAR/target/
Remote directory:指定将war上传到服务器哪个目录,/usr/local/tomcat/newWarBack
Exec command:上传完成后要执行的linux命令
强制杀死tomcat进程,删除已经部署过的war文件夹(注意不是war文件而是war部署生成的文件夹),执行启动tomcat命令。
ps:注意这是由本地上传到外网的命令,但走SSH上传是很慢的.有时jenkins和服务器和要运行的服务器在一起,就可以不用上传,可以只执行shell命令不上传文件,使用cp命令复制了.如下:
把
Source files , Remove prefix,Remote directory都设为空,只保留Exec command,加上cp命令实现linux内网传输,完整命令如下:
5.7.执行立即构建:
当输出如下时则表示已经构建完成
6.重启: http://localhost:8080/restart
退出:http://localhost:8080/exit
就是在浏览器里输入回车即可。
7.备注
启动成功后访问地址:
访问:http://127.0.0.1:8080/jenkint报Problem accessing /jenkins/. Reason: HTTP ERROR 404
解决办案:这是一个Jenkins的Bug。临时解决方法是:在浏览器中手工输入:http://<ip>:<port>
。不要访问"/jenkins"这个路径
jenkins有2种安装方式:
1.下载msi直接安装到本地
2.下载war,用java -jar jenkins.war方式启动。这种方式更灵活,可以将war放到阿里云上,然后在阿里云上搭建个持续集成环境。
去https://jenkins.io/上下载jenkins.war,最新的jenkins.war是2.70版本,他需要java8,其实最稳定版本是2.60.1,它可以在java7环境上跑。
下载msi安装包,一路下一步,最后安装成功会自动占用8080端口,直接在浏览器里访问http://localhost:8080/即可打,然后设置密码,创建帐号,注意这个帐号是本地帐号,只能在本机上使用,千万别以为是线上帐号哦。
安装环境:
1.Java7
2.点击“系统设置”->”管理插件”->“可选插件”里搜索安装几个插件
2.1 maven 插件
2.2 svn插件
2.3 deploy插件
2.4 publish Over SSH插件,连接线上环境使用的插件
其它插件根据需要下载安装,一般现在就够了,想学其它功能,宁可多下也不可少下。
3.参数配置,系统管理->系统配置
主目录配置:指定从svn下载下来的代码存放位置:
Publish over SSH:连接外网,自动上传及其它linux命令
Global Tool Configuration配置:
4.1Maven Configuration配置:4.2.JDK安装,注意最好不选点“自动安装”,直接选 本机java安装环境目录:
4.3 git配置,如果有需要就配置:
4.4 maven配置,不用选“自动安装”,配置maven环境:
至此全局配置完成,我们就可以环境项目持续集成了。
5.1新建工程,填个项目名,然后选择maven项目
5.2填项目名称,及描述
5.3 Maven Info Plugin Configuration配置,选“丢弃旧的构建”
5.4 源代码管理,选择subversion,填帐号及密码
5.5 如果在构建一个项目之前需要构建其它项目,那么就需要选“Pre Steps”,如果没有则跳过这一步。
填参数Goals:clean install
POM:XXX/pom.xml
JVM Options:-Xmx1024m
5.6 Build要构建的项目
Goals and options :clean package -Pstage -Dmaven.test.skip=true
设置maven配置文件
5.6.重头戏,自动化部署到外网:
“增加构建后操作步骤”选:“Send build artifacts over SSH”
Name:即在系统设置里配的服务器地址
Source files:要上传的文件,这里指定上传的是war,YUI_ADM_WAR/target/*.war
Remove prefix:指定需要过滤的文件夹,YUI_ADM_WAR/target/
Remote directory:指定将war上传到服务器哪个目录,/usr/local/tomcat/newWarBack
Exec command:上传完成后要执行的linux命令
PROJECT_NAME=adm TOMCAT_VERSION=apache-tomcat-7.0.68-1 TOMCAT_HOME="/usr/local/tomcat/"$TOMCAT_VERSION"" echo "backup" cp "$TOMCAT_HOME"/webapps/"$PROJECT_NAME".war /usr/local/tomcat/oldWarBack/"$PROJECT_NAME"_`date +%Y%m%d%H%M`.war #检查一下,删除5天前的war包文件, find/usr/local/tomcat/oldWarBack -mtime +10 -type f -name *.war -exec rm -rf {} \; echo "over" cp /usr/local/tomcat/newWarBack/"$PROJECT_NAME".war "$TOMCAT_HOME"/webapps/ ps -ef |grep "$TOMCAT_VERSION" | grep -v grep |awk '{print $2}'|xargs kill -9 cd "$TOMCAT_HOME"/webapps echo "remover war file" rm -rf "$PROJECT_NAME" cd "$TOMCAT_HOME"/bin echo "start tomcat" ./startup.sh
强制杀死tomcat进程,删除已经部署过的war文件夹(注意不是war文件而是war部署生成的文件夹),执行启动tomcat命令。
ps:注意这是由本地上传到外网的命令,但走SSH上传是很慢的.有时jenkins和服务器和要运行的服务器在一起,就可以不用上传,可以只执行shell命令不上传文件,使用cp命令复制了.如下:
把
Source files , Remove prefix,Remote directory都设为空,只保留Exec command,加上cp命令实现linux内网传输,完整命令如下:
cp /home/cy/jenkinsws/workspace/oil_stage_adm/src/master/base/YUI_ADM_WAR/target/*.war /usr/local/tomcat/newWarBack PROJECT_NAME=adm TOMCAT_VERSION=apache-tomcat-7.0.68-1 TOMCAT_HOME="/usr/local/tomcat/"$TOMCAT_VERSION"" echo "backup" cp "$TOMCAT_HOME"/webapps/"$PROJECT_NAME".war /usr/local/tomcat/oldWarBack/"$PROJECT_NAME"_`date +%Y%m%d%H%M`.war #检查一下,删除5天前的war包文件, find/usr/local/tomcat/oldWarBack -mtime +10 -type f -name *.war -exec rm -rf {} \; echo "over" cp /usr/local/tomcat/newWarBack/"$PROJECT_NAME".war "$TOMCAT_HOME"/webapps/ ps -ef |grep "$TOMCAT_VERSION" | grep -v grep |awk '{print $2}'|xargs kill -9 cd "$TOMCAT_HOME"/webapps echo "remover war file" rm -rf "$PROJECT_NAME" cd "$TOMCAT_HOME"/bin echo "start tomcat" ./startup.sh
5.7.执行立即构建:
当输出如下时则表示已经构建完成
6.重启: http://localhost:8080/restart
退出:http://localhost:8080/exit
就是在浏览器里输入回车即可。
7.备注
启动成功后访问地址:
访问:http://127.0.0.1:8080/jenkint报Problem accessing /jenkins/. Reason: HTTP ERROR 404
解决办案:这是一个Jenkins的Bug。临时解决方法是:在浏览器中手工输入:http://<ip>:<port>
。不要访问"/jenkins"这个路径
相关文章推荐
- windows环境下使用jenkins自动部署发布项目(eclipse + svn + maven + tomcat + jenkins),注意是windows环境
- jenkins+tomcat+ant+java+linux 自动部署项目
- 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- 【Jenkins教程三】基于Linux实现Jenkins+maven+git+tomcat的自动化构建部署项目
- linux 环境下部署 JAVA项目到tomcat服务器
- linux的jenkins安装与使用jenkins自动化打包maven项目部署到tomcat
- 阿里云服务器linux环境,从启动tomcat服务器外网访问--->绑定域名--->Navicat远程连接mysql--->阿里云服务器部署项目过程中,一定会遇到的五大问题;
- 在Parallels Desktop上安装Cent OS并部署服务器环境(Linux, JDK, tomcat, mysql, Jenkins, git, maven)全记录
- Jekins之——自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- Linux 项目部署、系统常用命令、java环境安装、tomcat安装部署。
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
- Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)
- Jenkins自动部署maven项目到tomcat
- jenkins + maven + svn + tomcat 搭建自动构建,自动部署,持续集成环境
- 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署
- 【Jenkins教程三】基于Linux实现Jenkins+maven+git+tomcat的自动化构建部署项目
- CentOS6.8下Jenkins+maven+tomcat+git+shell自动构建、部署web应用环境的搭建