利用Jenkins自动部署工具间接构建kettle的调度平台
关于Jenkins的介绍我就不说了,自己百度,因为这个工具调用脚本只是他的功能的冰山一角,其他功能我也不能理解,因为不是那个领域。
下面我就介绍一下为什么我们需要一个调度平台,以及学习完jenkins后,能解决什么问题。然后在开始讲解安装部署,然后再讲一下怎么调用kettle作业(和处理作业依赖)
1.为什么我们需要调度平台?
2.答:可能大部分人对于kettle的调度还是停留在win的计划任务,linux的cron, 但是作业越来越多,作业之间相互依赖,(例如: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文件放入Tomcat的webapps目录下。
页面上会让你输入一个密码,那个密码在启动的提示信息里面有说明在什么路径下什么文件内,只需要复制出来 ,粘贴进去(页面上也有提示在什么文件内)
然后会跳转到一个插件安装页面,选择第一个推荐方式
然后就会自动安装(再服务器端部署,如果服务器端没有联网,可以直接跳过该步骤)
我自己安装的时候,有两个插件没安装成功,一直卡着,后来我就关闭了cmd界面,重新打开,完成之后设置用户
完成之后进入主页面
那么部署就算完成了
4.这里就是大家最关注的重点了,如何调度kettle作业、转换?
答:1.点击首页的新建
2.建立作业,点击OK
3.配置作业里面的内容,以及触发的方式(我们主要是:1定时触发 2.依赖其他作业触发),先讲定时触发,配置界面如下:日程表的格式类似与linux的cron格式,但是有些不同,看旁边的问号说明把,基本一样。
按看到了把,构建步骤这里就可以选择执行shell\bat
输入调用作业的代码,这里大家就应该很熟悉了
我们也可以在这个job2里面执行多个kettle的作业,我们只需要再点击增加构建步骤,那么这两个kettle是从上往下串行执行(个人测试出来的)
那么之后我们这里设置依赖问题了,按照如上的设置 我们做一个test3的Jenkins作业(但是不需要配置定时调度,因为test3我想用其他作业完成之后触发调度),我们想让Jenkins的job2执行完之后,再执行Jenkins的test3作业,那么就增加构建后的操作,指定调用哪个Jenkins作业,在下面的输入框输入作业名称,这里会提示显示你当前有哪些Jenkins作业。(【构建】是软件自动化部署领域的词,我们理解为【调度执行】的意思就好了)
点击保存。回到主页面 ,job2 就会按照配置执行,job2执行完成之后也会触发test3的执行。
那么我们已经完成了简单的作业依赖关系的处理。
其他简单的界面说明:
在首页就可以看到增加的所有作业的和他的状态
右上角的我们可以开启页面自动刷新,其实就是F5的作用。
每个作业前面有两个图标,标识一定的含义,含义如下:
在这里的加号 也可以增加选项卡,其实就是作业分类管理显示的作用,什么作业显示在什么选项卡下。
这两个按钮都是马上执行的意思,点击作业名称,可以进入对其修改配置。
好了,Jenkins结合kettle的调度讲解我就说完了,希望大家多多挖掘Jenkins的功能。
利用Jenkins自动部署工具间接构建kettle的调度平台的更多相关文章
- 使用Jenkins自动部署博客
title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- Jenkins自动部署spring boot
Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...
- Jenkins自动部署Tomcat项目
Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:
- jenkins自动部署代码到多台服务器
下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...
- 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建
使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...
- 内存溢出导致jenkins自动部署到tomcat失败
原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...
- PXE自动部署工具
1.工具介绍1.1::本工具主要以图形界面的方式帮助使用者快速部署PXE安装Linux的基础环境环境,(如不需要可忽略相关操作)并且支持自动配置静态IP地址和为H3C设备划分VLAN. 1.2::对于 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
随机推荐
- noip 2013 华容道
/*双向bfs (得分和单项的一样多....)70*/ #include<iostream> #include<cstdio> #include<cstring> ...
- codevs1002搭桥(建图+Prim)
/* 先来个灌水法 然后建图跑最小生成树 注意观察题目中的规则 a[1][i]!=a[1][j]&&abs(a[2][i]-a[2][j])<=1 建图的时候可以每一个建筑物都看 ...
- JSP学习--常用作用域
page:当前页面,也就是只要跳到别的页面就失效了 request:一次会话,简单的理解就是一次请求范围内有效 session:浏览器进程,只要当前页面没有被关闭(没有被程序强制清除),不管怎么跳转都 ...
- (转)dedecms入门
学dedecms一段时间了,把我的入门体会和大家分享一下. 什么是dedecm cms(内容管理系统):现在有各种内容模型,如书评(包括书名,出版社,评论等字段).cms一般有用户后台,网页的用户可以 ...
- ASP.NET几种清除页面缓存的方法
在asp.net中使用模式dialog时,你会发现每次打开的页面都是相同的内容,页面内容并没有刷新,这是缓存的原因造成的, 解决方法如下: 第一种是ASP.NET清除页面缓存 Response.Buf ...
- sql - sum() 和 count() 函数的区别
对sql一直都是蜻蜓点水,突然也觉得对这两个函数的区别有点朦胧,查了一下,在这里说一下: sum():主要用于累加求和. count():主要用于行(记录)的统计.
- Protocol Buffer Xcode 正确使用思路 成功安装 Xcode7.1
1. 下载protobuf编译工具 序列化是将数据转换为一个特定的类 http://pan.baidu.com/s/1qWrxHxU 下载解压,它不是用来放在你的项目里 2.打开终端 依次输入并等待指 ...
- iOS-点击视图,视图背景颜色随机更改
一.效果图 二.代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the v ...
- 3.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
public static void main(String[] args) { Scanner scanner=new Scanner(System.in); ...
- 你好,C++(34)有一只叫做多利的羊 6.2.4 拷贝构造函数
6.2.4 拷贝构造函数 在C++世界中,除了需要使用构造函数直接创建一个新的对象之外,有时还需要根据已经存在的某个对象创建它的一个副本,就像那只叫做多利的羊一样,我们希望根据一只羊创建出来另外一只 ...