文档库

最新最全的文档下载
当前位置:文档库 > Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

1、安装Java

Jenkins是一个基于Java的Web应用程序,所以第一件事就是在机器上安装Java。

步骤:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

2、安装Jenkins

从Jenkins的官网(http://www.wendangku.net/doc/12e4b5cd5ff7ba0d4a7302768e9951e79b8969c8.html)下载最新版本的Jenkins安装包,下载后直接安装。

安装完程序,Jenkins会自动运行在8080端口上,在浏览器中输入http://localhost:8080,即可进入。首次进入需要输入/var/lib/jenkins/secrets/initialAdminPassword中的密钥,如图1所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图1首次启动Jenkins

输入密钥后点击Continue按钮后就进入了注册页面,如图2所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图2注册Jenkins用户界面

之后就进入了插件安装的界面,在这里选择默认安装就可以了。

3、添加从节点

由于Jenkins持续集成服务器和构建服务器并不在同一台主机上,因此在这里需要将构建服务器作为从节点添加进来。

点击系统管理中的节点管理,进入节点管理界面,如图3所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图3节点管理界面

在这里可以看到所有的节点,包括安装Jenkins的主节点。点击新建节点按钮,开始新建从节点。如图4所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图4新建节点界面

点击ok按钮,开始设置从节点属性,其中在Credentials一栏中先点击Add 添加用于登陆编译服务器的账号和密码后再选择刚刚添加的登陆凭证。如图5所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图5配置从节点界面

配置完成后点击Save按钮,出现Launch按键,此时点击Launch,Jenkins

就会和从节点建立连接。之后再进入节点管理界面就能看到新添加的从节点,如图6所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图6成功添加从节点

4、建立构建任务

点击Jenkins主界面中的新建按钮,开始新建构建任务。输入项目名称,并选择构建一个自由风格的软件项目,如图7所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图7新建项目界面

点击ok按钮进入到项目设置界面。首先是通用选项,在这里选中丢弃旧的构建复选框,避免大量构建产物消耗过多的硬盘空间。同时勾选Restrict where this project can be run复选框,并在Label Expression中输入刚刚建立的从节点名,表示此项目的构建在该从节点中进行。如图8所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图8项目通用选项

接下来开始配置源码管理,这里我们选择Subversion,表示使用Subversion 作为该项目的源码版本控制系统。然后在Repository URL中输入获取源码的地址,在Credentials中添加svn的账号和密码,Jenkins会根据输入检测账号和密码的正确性,如果不正确就会提示错误。在Local module directory中输入想要Jenkins把源码检出到的位置,如本例中将源码检出到从节点中的工作空间下的ikcc_service文件夹下。如图9所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图9源码管理选项

一旦配置了版本控制系统,就需要告诉Jenkins什么时候出发构建。可在构建触发器部分进行设置。在一个自由式的构建中,有三种基本方式可以触发构建作业:

a.一旦另一个构建作业完成之后,触发一个构建作业;

b.定期开始构建;

c.SCM轮询更改。

本例中我们选择计划构建作业和轮询SCM构建作业相互配合的方式来触发构建。在构建触发器部分中可以看到Build Periodically选项就是定期构建选项,Poll SCM选项就是SCM轮询更改选项。分别在两个选项前面的复选框中打钩,就会出现日程表。日程表使用cron风格的语法,包括五个由空格分隔的字段:MINUTE HOUR DOM MONTH DOW

MINUTE:小时内的分钟数(0~59)

HOUR:一天的小时数(0~23)

DOM:本月的天数(1~31)

MONTH:月份(1~12)

DOW:本周的一天(0~7),其中0和7是星期日

还有一些快捷键:

a.“*”代表一个字段所有可能的值。例如,“*****”表示“每分钟一次”;

b.“M-N”定义范围。例如,DOW中的“1-5”表示“星期一到星期五”;

c.“/”定义范围间隔时间。例如,分钟字段“*/5”表示“每5分钟”;

d.逗号分隔的列表表示有效值的列表。例如,分钟字段的“15,45”表示“在过去的每个小时的第15和45分钟运行”。

本例中“H1***”表示每天1点构建一次,“H/30****”表示每隔30分钟询问版本控制器中的源码是否更改,如有更改则进行构建。如图10所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图10构建触发器选项

现在Jenkins应该知道在何处及何时获得项目源代码,接下来还需要向Jenkins解释的下一件事是用源代码做什么。在自由式的构建中,可以通过定义构建步骤来做这个。在本例中,通过Execute shell的方式,让Jenkins在构建服务器的终端中执行相应的代码的方式来完成构建。如图11所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图11构建选项

除了少数例外,构建作业的主要目标通常是进行构建并生成一些东西。在Jenkins中,我们把生成的这些东西称为构建产物。配置Jenkins来存储构建产物很容易,只需在构建后操作部分中添加Archive the artifacts步骤即可。将需要归档的文件名输入到输入框中即可,需要注意的是该输入框中的文件路径相对于作业空间,本例中“**/*.ipk”表示将工作空间中的所有ipk文件归档。如图11所示。

完成了这些工作之后,就可以进行构建工作了。返回主界面,就可以看到我们刚刚建立的项目,点击项目名进入项目页面后点击立即构建,就会执行一次构建,构建完成后就能看到构建结果和归档后的构建产物。如图12所示。

Ubuntu系统下基于Jenkins和svn的自动构建环境搭建

图12项目构建