hudson自动化配置小结

来源:互联网 发布:1hhhh域名升级访问中 编辑:程序博客网 时间:2024/05/16 15:59

进来为了方便项目部署,同时不想每次都打包上传部署新版本,所以想到用hadson做自动化部署工具。下面就说下在配置过程中遇到的问题和解决办法。花了一天的时间搞下,反正还是很郁闷,每次我都会碰到别人碰不到的问题。所以记录下来。

首先你需要在服务器上面配置一个tomcat服务器,直接去下载hadson.war包,放在webapp下面,启动tomcat就好。hadson.war可自行百度下载就好。同时服务器上要提前配置好java环境和安装好maven。这里说一下maven,很多人说自动化部署需要私服,我觉得如果纯属使用从maven中央仓库down下来jar包使用的话,完全可以不用搭建私服。比如我。不过在使用过程中,如我用的jar包,java_memcached-release_2.6.6.jar这个jar包,在maven中央仓库没有,所以通过手动写pom.xml文件,通过maven命令加入本地maven中也是可以实现。小白用户的我,不知道如何写pom.xml,只能模仿别人的来写。这是到目前为止我所理解的。

配置第一步,下载hadson.war,放到webapp下面,启动tomcat就好,这样就可以访问http://localhost/hadson。其次就是安装一下插件,比如推荐几个必须装的吧。Hudson Subversion Plug-in,这个插件是连接svn代码库用的,Deploy to container Plugin,这个插件是方便打包好maven项目之后,进行发布到tomcat上面用的。推荐这两个一定安装吧,其他的我暂时也没有搞清楚是干什么的。如果开始没有安装,可以在系统管理--》管理插件--》

这里可以找到。

下面说具体实现步骤,第一步先去系统管理-》系统设置jdk,maven等等,主要配置服务器上面的jdk安装目录,maven安装目录等,其他的如git,ant等我没有使用,所以也没有去配置。最后的邮件通知服务器可以配置下,这里啰嗦一下这个邮件服务器,我使用的邮件服务器是腾讯的企业邮箱,所以SMTP服务器地址就是smtp.qq.com,其他的就是默认邮件后缀,发送邮箱等等。用户名密码也是你自己发送邮箱的用户名,密码。之前配置的时候很纠结,后来想想就想通了原理。所以这样配置就好了,至于原理,自己想去吧。展示一个maven的配置。


第二步:回到主页面,新建一个任务,输入项目名称就好,

然后就是项目的具体配置了,先配置源,我使用的是svn,如下看下


这里如果没有显示出来,就证明没有安装上插件,这里的svn,git都是通过插件安装上的。不再累赘,填写项目的svn地址,之后会默认验证用户名密码的。

svn配置好之后是Build Triggers,主要是构建项目的一下配置



这里主要配置项目每次自动化构建的时间,比如我的就是每天13:30和23:30分构建一次。这个时间的写法就不累赘了,就是定时任务的时间写法,只不过没有秒,从左到右依次是分 时 日 月 年

接下来是maven配置,额,我主要使用maven,所以就直说maven了。看下图


因为我选择是一个自由项目,所以这里要配置maven,Maven Version,如果之前配置过系统的,那么这里就可以直接下拉单选就好了。其次Goals一定要填写,之前我在pom.xml文件中填写comple,所以每次构建成功,就是不能生产 war包,所以这里一定要填写package,指向maven打包的命令。这里切记,我因为这个问题纠结了整整一个晚上。

最后就是配置tomcat服务器了,其实也不用配置什么,就是首先给tomcat添加用户了,这个hadson插件就是相当于通过tomcat的管理用户管理tomcat并把生成的war包给放到webapp下面。给大家看下我配置的,仅供参考下。


这里配置了管理用户才好管理tomcat。看下图如何配置tomcat


首先找到这个插件选中,如果找不到,就证明没有安装上。WAR这一栏直接填写target/xxx.war就好,会自动在生成war包目录找到war包,tomcat目前只支持到7.x,所以,懂得,我也没有尝试7.x用8.x的tomcat可以不,然后就是填写tomcat的用户名密码了。tomcatURL只用配置tomcat的主页访问目录就好了。然后save就可以了,接下来就是构建项目了,构建过程中查看下输入日志,有什么构建不成功的查看日志解决了。我是无能为力了。

至此,就可以配置完成了,以后就可以自由的使用,不用每次都da包发布新版本了。这里说一下我理解的他的工作原理。首先从svn或git拉下代码,通过maven对代码进行编译,生成war包,再通过tomcat的管理奖war包部署到tomcat中。只是我理解的,一家之言。好久没有写博客了,望自己以后可以坚持写日志。至少要有一份乐于分享的精神