使用jenkins+svn搭建可持续部署环境
背景:
最近项目小组申请了开发服务器,需要搭建一套自动化环境用于部署各类应用。
我选用了
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和应用的启动都会产生日志文件,需要定时清除。