编程实验
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
本文使用的Linux:Ubuntu
其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN服务器
一、安装Jenkins
本文直接使用war包安装
war包有两种安装方法
方法一
下载jenkins.war, 拷贝到D:JavaTooljenkins()下,然后运行java -jar jenkins.war. (注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%in加入到PATH环境变量中)
运行如下:
访问http://localhost:8080 , jenkins的主界面如下:
方法二
把Jenkins 1.409.1版解压,把得到的war包直接扔到tomcat下,启动tomcat,Jenkins就安装完毕,访问http://localhost:8080
二、构建一个Maven项目
1、新建一个job
2、输入名称和项目类型
3、设置编译的版本号等信息
a
4、设置svn库地址:
输入项目托管的svn的地址,如果有出现要输入账号和密码的地方,输入即可。
如果有出现如下说明用户或密码不对:
点击进去重新设置用户和密码
5、配置jdk和maven
第一次打开出现如下,点击进去。要求提示设置JDK和Maven
点击系统管理->系统设置,找到JDK和Maven的设置位置
选择本电脑的:
9、到这里已经可以构造这个项目了。
点击构建
构建输出的信息:
构建成功输出如下 :
10、验证
这时它已经自动把这个项目打包了一个war包,默认打包到了C:Userslinbingwen.jenkinsworkspaceJavaWebJavaWeb arget
或者点击如下:
三、自动远程部署到tomcat
接下来要完成自动构建成war包后,将些war包上传到远程linux的tomcat的webapps目录,更新项目的war包,并重启tomcat.
1、安装插件
系统管理->管理插件,在可选插件里找到下面这个,然后点击直接安装命令,安装成功后要重启jenkins
t笔者在安装插件时报错如下:
这应该是天朝的墙所导致的,所以笔者就使用了手动安装的方式。
解决方法:
手动安装
到https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin,下载hpi到本地电脑到
在系统管理--管理插件--高级--浏览-上传插件即可
然后它自动上传并安装:
红色的是笔者在线安装不成功的,蓝色的是笔者安装成功的了,之后重启jenkis即可。
2、配置ssh内容:
在系统管理->系统设置里
找到Publish over SSH
然后输入:
3、配置Post Steps
这里还是接着上面的JavaWeb项目,这个配置得安装了上面的插件后才会显示!
其中,
Transfer SetSource files:表示要上传的本地的war包及路径,可到工作空间去看
Remove prefix:表示要上传时要去除的文件夹,即只上传war包
remote driectory:即表示执行时的路径,相当于把war包上传到这里了
exec commad:要执行的命令
要执行的脚本的内容:
#!/bin/sh
#defined
TOMCAT_HOME=“/usr/java/tomcat/apache-tomcat-7.0.67/”
ID=`ps -ef | grep java | grep tomcat|awk ‘{print $2}’`
echo $ID
echo “kill tomcat”
kill -9 $ID
echo “remover war file”
cd “$TOMCAT_HOME”/webapps
rm -rf JavaWeb-0.0.1-SNAPSHOT
rm -rf JavaWeb-0.0.1-SNAPSHOT.war
echo “copy war to webapp”
cd /home/lin
cp JavaWeb-0.0.1-SNAPSHOT.war “$TOMCAT_HOME”/webapps
cd “$TOMCAT_HOME”/bin
echo “start tomcat”
。/startup.sh
步骤:
先停掉tomcat
删除webapp下对应的war包
复制war到webapps
重启tomcat
4、构建部署
点击项目的构建按钮,最终出现如下:
在linux上打开浏览器,输入http://localhost:8080/JavaWeb-0.0.1-SNAPSHOT/
注意:这里配置的ssh用户:lin要有root的权限,要不可以会报错没有权限执行kill 或rm 命令
本文使用的Linux:Ubuntu14.04
全部0条评论
快来发表一下你的评论吧 !