利用Jenkins自动部署工具间接构建kettle的调度平台


        关于Jenkins的介绍我就不说了,自己百度,因为这个工具调用脚本只是他的功能的冰山一角,其他功能我也不能理解,因为不是那个领域。
        下面我就介绍一下为什么我们需要一个调度平台,以及学习完jenkins后,能解决什么问题。然后在开始讲解安装部署,然后再讲一下怎么调用kettle作业(和处理作业依赖)             

1.为什么我们需要调度平台? 

2.答:可能大部分人对于kettle的调度还是停留在win的计划任务,linuxcron, 但是作业越来越多,作业之间相互依赖,(例如:A作业,b作业,执行完之后,才能执行c作业),这些简单的通过计划任务是完成不了的,或许有些人说,可以把这三个作业放在kettle的一个作业里面表示其内的依赖关系,那么这样做,就会把本来模块化的作业塞到一个臃肿的作业里面,作业之间高度耦合,一个很大的作业还可能会存在kettle内存消耗过大的问题内存溢出的问题,以致难以管理。
      2.学习完jenkins后,能解决什么问题?
      答:集中管理作业/转换的调度,以及每次调度的日志保存,处理作业调度依赖性问题(因为目前我也是小白,也刚刚接触到这个东西,我只是想把我知道的东西分享给大家,所以会讲的比较简单,但是个人觉得jenkins能做的东西应该还有很多,例如分布式的调度系统)

3.如何安装部署?

答:先说一下我的测试环境:win7-64位,360浏览器(浏览器有兼容性问题,一开始用IE,发现安装一致空白页面,后来换了谷歌内核的就没问题),jre1.80,配置好java路径,下载jenkins.war-2.72版本,放到某个路径下,G:\jenkins\jenkins.war,运行cmd,输入 java -jar G:\jenkins\jenkins.war ,然后等待启动(自带的jetty启动),看......up and runing 就启动成功,注意8080别被占有,启动成功后http://localhost:8080(修改端口号就上官网查)。

如果使用的Tomcat,可以直接将jenkins.war文件放入Tomcatwebapps目录下。

页面上会让你输入一个密码,那个密码在启动的提示信息里面有说明在什么路径下什么文件内,只需要复制出来 ,粘贴进去(页面上也有提示在什么文件内)

 

然后会跳转到一个插件安装页面,选择第一个推荐方式

 

 

然后就会自动安装(再服务器端部署,如果服务器端没有联网,可以直接跳过该步骤)

 

 

我自己安装的时候,有两个插件没安装成功,一直卡着,后来我就关闭了cmd界面,重新打开,完成之后设置用户

 

 

 

完成之后进入主页面

 

 

 

那么部署就算完成了

 

 

4.这里就是大家最关注的重点了,如何调度kettle作业、转换?

答:1.点击首页的新建

 

2.建立作业,点击OK

 

 

3.配置作业里面的内容,以及触发的方式(我们主要是:1定时触发 2.依赖其他作业触发),先讲定时触发,配置界面如下:日程表的格式类似与linuxcron格式,但是有些不同,看旁边的问号说明把,基本一样。

 

 

按看到了把,构建步骤这里就可以选择执行shell\bat

 

输入调用作业的代码,这里大家就应该很熟悉了

 

 

我们也可以在这个job2里面执行多个kettle的作业,我们只需要再点击增加构建步骤,那么这两个kettle是从上往下串行执行(个人测试出来的)

 

 

 

那么之后我们这里设置依赖问题了,按照如上的设置 我们做一个test3Jenkins作业(但是不需要配置定时调度,因为test3我想用其他作业完成之后触发调度),我们想让Jenkins的job2执行完之后,再执行Jenkins的test3作业,那么就增加构建后的操作,指定调用哪个Jenkins作业,在下面的输入框输入作业名称,这里会提示显示你当前有哪些Jenkins作业。(【构建】是软件自动化部署领域的词,我们理解为【调度执行】的意思就好了)

 

 

点击保存。回到主页面 ,job2 就会按照配置执行,job2执行完成之后也会触发test3的执行。

那么我们已经完成了简单的作业依赖关系的处理。

 

 

其他简单的界面说明:

在首页就可以看到增加的所有作业的和他的状态

 

 

右上角的我们可以开启页面自动刷新,其实就是F5的作用。

每个作业前面有两个图标,标识一定的含义,含义如下:

 

在这里的加号 也可以增加选项卡,其实就是作业分类管理显示的作用,什么作业显示在什么选项卡下。

 

这两个按钮都是马上执行的意思,点击作业名称,可以进入对其修改配置。

 

 

 

好了,Jenkins结合kettle的调度讲解我就说完了,希望大家多多挖掘Jenkins的功能。

                                                               

posted @ 2017-01-09 23:13  专注、坚持  阅读(5628)  评论(0编辑  收藏  举报