背景:

最近项目小组申请了开发服务器,需要搭建一套自动化环境用于部署各类应用。

我选用了

jenkins+svn+zookeeper+dubbo

理由:

本身项目在转dubbo,所以需要zookeeper+dubbo环境。

项目本身是用SVN在管理的。

可持续化部署选用jenkins,因为测试小组使用jenkins。

JDK安装1.8和1.7

============================================================================

搭建jenkins环境

选用的是jenkins+tomcat7

1,jenkins可以去官网下载war包

2,tomcat可以去官网下载

本次搭建jenkins选用的是此类方法,理由是操作简单。(注意:由于开发环境属于内网,无法下载jenkins插件,所以可以在外网先搭建一个一样的环境,下载插件,然后把文件夹替换到开发服务器上即可)

安装tomcat,把jenkins的war包放入tomcat去启动。

--------

jenkins构建项目启动依赖于shell脚本,需自行编写。

但是当jenkins构建完成以后会杀死衍生进程,所以需要设置jenkins的环境变量BUILD_ID=DONTKILLME

--------

发现存在一种问题,就是当tomcat一直启动不停止的话,catalina.out会一直不断的增加。

(其实catalina.out是可以拆分的,方法有很多)

但是我决定写shell脚本定时去杀进程,并且清空日志。

当杀死tomcat重启之后,jenkins就无法打开,一直白屏,请求是404,但是其他tomcat里的应用启动正常。

这是遇见的一个bug,没有解决。

--------

=============================================================================

搭建zookeeper+dubbo环境

其实也就是zookeeper环境+dubboAdmin后台

1,因为项目本身在转dubbo,选择zookeeper作为注册中心

2,zookeeper的搭建可以直接从官网下载linux版本的包安装

3,模拟zookeeper集群环境,搭建伪集群,因为zookeeper是超过半数成功就算成功,所以搭建3台zookeeper。

具体的做法为:(可自行百度)

1,新建一个zoo.cfg文件,其实就是把zoo-sample.cfg文件复制改个名字

2,编辑zoo.cfg文件

  新建dataDir和dataLogDir,并且指定目录

3,如果要做集群的话

配置需要增加为zoo1.cfg,zoo2.cfg,zoo3.cfg,每个文件里面增加



server.0=192.168.192.128:2888:3888【192.168.192.128服务器上面的myid填写0】



server.1=192.168.192.129:2888:3888【192.168.192.129服务器上面的myid填写1】



server.2=192.168.192.130:2888:3888【192.168.192.130服务器上面的myid填写2】



并且每个文件都要有dataDir和dataLogDir,不同名。



4,在新建的dataDir目录下分别新建myid文件,里面的内容为0,1,2.和zoo1.cfg等里面的server.0等等保持一致。

5,然后用shell脚本启动

其实shell本身启动的是对应的zoo.cfg文件,所以新建3个cfg文件类似对应3个zookeeper。

shell启动的时候指定这3个cfg文件即可

-------------

dubboAdmin,目前在官网我没有找到,是去CSDN里下载的。

dubboAdmin.war文件,放在tomcat里运行

目前发现的问题有

dubboAdmin上注册的应用,如果应用关闭,dubboAdmin不是立即消除此应用,需要等待一段时间,不算bug。

 

===========================================================

需要注意的问题有:

1,因为tomcat,zookeeper和应用的启动都会产生日志文件,需要定时清除。