jenkins+svn持续集成

环境:
kettle设计软件,windows平台,svn客户端使用tortoisesvn客户端

svn服务器:192.168.1.185,使用visual svn软件做服务器

kettle软件和调度平台在同一服务器:192.168.1.200

jenkins服务器:192.168.1.200

最近有个数据仓库的项目,需要使用ETL工具kettle来进行,而kettle的调度任务平台可以提供直接读取kettle的ktr和kjb文件,或者通过数据库来读取,使用文件方式非常方便,但是设计完kettle作业后,需要同步文件到调度平台读取,手工拷贝方式太麻烦,就是用现有的svn平台来进行持续集成。通过设置本地kettle作业设计文件夹到svn,自动同步到svn,jenkins再自动更新任务版本,服务器中创建jenkins集成文件的软链接,提供给kettle任务调度平台读取。

SVN

服务器设置

新建一个资源库,新建一个用户访问该资源库

点击新建的资源库,可以看到资源库地址,后面要用到这个地址

客户端配置

安装完tortoisesvn,右击需要同步的文件夹,然后点检出,填上资源库地址,用户名和密码就行

同步的文件夹会有一个绿色勾标记,需要刷新图标缓存或者重启即会显示。

jenkins

jenkins安装有几种方式,具体可以看官方说明,这里基于tomcat:
https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos

检查JDK环境

jenkins基于java,需要安装JDK环境,也可以使用docker更方便:
java -version

如果没有,则需安装,这里要注意,不同版本的jenkins要用不同的java版本,具体可以看官网:
https://get.jenkins.io/war-stable/

这里选择安装java 8(即jdk-1.8):
yum -y install java-1.8.0-openjdk*

yum安装java默认安装目录为usr/lib/jvm

jenkins安装

安装并启动 Tomcat;

从官网下载 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 会自动部署;

浏览器访问:http://centos:8080/jenkins/

jenkins配置

输入命令以找到密码:
tail /var/lib/jenkins/secrets/initialAdminPassword

输入密码后,进入插件安装页面。点击Install suggested plugins,安装默认插件。

安装完成后,页面会自动进入管理员账户注册页面,创建账号

全局安全设置:

默认情况下,任何用户都可以使用 Jenkins 进行发布。可以进入相关设置:系统管理 / 全局安全设置(Configure Global Security),选择 Jenkins专有用户数据库,不要选中 允许用户注册,选择 登录用户可以做任何事,选中 Allow anonymous read access

全局工具配置

进入:系统管理 / 全局工具设置(Global Tool Configuration)

JDK 下不勾选“自动安装”,指定别名=JDK-1.8.0_342, JAVA_HOME=/usr/java/jdk1.8.0_342

插件配置
首页 >> Manager Jenkins(系统管理) >> Manage Plugins(插件管理)
Subversion # 版本管理 SVN 的插件

确保这个插件已经安装,如果已安装中没有这几个插件,到可选插件中搜索并安装,安装失败可重试或者下载在“高级”界面通过hpi上传

新建一个项目:

这样,当有新的提交后,就会自动同步到jenkins

分享到