Jenkins环境搭建及使用

关键词:

Jenkinssvn自动化持续集成

摘要:

Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:

1、持续的软件版本发布/测试项目。

2、监控外部调用执行的工作。

案例描述

针对我们公司项目是迭代开发模式,所以有引入自动化的需求,对于自动化的管理,用持续集成工具再好不过了,先分享出jenkins的使用方法和大家一起学习。

1案例分析

引入jenkins的优点:

开源免费;

跨平台,支持所有的平台;

master/slave支持分布式的build;

web形式的可视化的管理页面;

安装配置超级简单;

tips及时快速的帮助;

已有的1000多个插件;

可管理性强。

2解决过程

2.1jenkins安装(ubuntu)

Jenkins支持的系统有很多:

Windows、Ubuntu/Debian、Red Hat/Fedora/CentOS、Mac OS X、openSUSE、FreeBSD、OpenBSD、Solaris/OpenIndiana、Gentoo。

介绍下基于Debian的Ubuntu系统安装方法:

‘添加软件包的库用于安装和更新jenkins,需要下载jenkins-ci.org.key文件,把下载的key添加到本地trusted数据库中。

wget -q -O -http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

‘将echo deb

http://pkg.jenkins-ci.org/debian binary/添加到/etc/apt/sources.list.d/jenkins.list中。

sudo sh -c 'echodeb http://pkg.jenkins-ci.org/debian binary/ >/etc/apt/sources.list.d/jenkins.list'

‘更新源

sudo apt-getupdate

‘安装jenkins

sudo apt-getinstall jenkins

安装好后使用firefox打开“http://hostname:8080”访问安装好的jenkins。

jenkins

2.2jenkins使用

2.2.1构建任务:

需求:构建从svn服务器中定时更新selenium+jruby项目,并执行自动执行项目工程,返回测试结果。

在首页上点击“新Job”

新建job

输入“任务名称”如:test

以下5个选项可以根据项目需要选择,如“构建一个自由风格软件项目”,然后点击OK!

配置SVN

配置SVN

1.输入SVN的URL

2.首次连接会失败这时你需要点击enter_credential,进入

svn认证

配置完成后并保存,构建任务将不会有无法连接SVN的提示。

3.check-out

Strategy选择svn update

构建触发器


构建触发器

jenkins的构建触发中Poll SCM和Build periodically的区别

Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。如:

*/5 * * * *(每5分钟检查一次源码变化)

Build periodically:周期进行项目构建(它不关心源码是否发生变化),如:

0 2 * * *(每天2:00必须build一次源码)

PS:点击日程表后面的问号,里面会介绍每个星号代表的参数以及使用方法。

设置“构建”中的构建步骤:

构建步骤

增加一条基于shell的命令,选择Execute shell

在Command中输入:

pwd------------------------(查看当前运行路劲)

ruby test.rb-----------------(test.rb是SVN服务器上checkout下来的文件)

最后保存这个构建:

保存好的构建就会定时运行项目了。

运行后我们可以查看运行日志:

运行日志

查看项目趋势图:


项目趋势图

2.2.2Jenkins的Slave配置

构建对个slave服务器,用于实现分布式管理:

基于windows的slave配置

进入http://hostname:8080/computer/下(也可以通过主界面的“系统管理”->“管理节点”进入)“新建节点”

新建节点

配置Name如:windows server(没多大要求)

Of executors推荐设置为1

remote FS root指向需要关联到的目标windows的文件路径(必须是存在的)。

用法选择“只允许运行绑定到这台机器的Job”

Launch method“Launch slave agents via Java Web

Start”

Availability选择“Keep this slave on-line as much as possible”

点击保存,重新进入到http://hostname:8080/computer/点击刚刚创建的windows server进入到

launch

点击黄色按键,直到弹出

connectd

表示成功

成功后的图

此时系统的状态也被显示了出来。

基于linux的slave配置

进入http://hostname:8080/computer/下(也可以通过主界面的“系统管理”->“管理节点”进入)“新建节点”

新建节点

配置Name如:linux server(没多大要求)

Of executors推荐设置为1

remote FS root指向需要关联到的目标windows的文件路径(必须是存在的)

用法选择“只允许运行绑定到这台机器的Job”

Launch method选择“Launch slave agent in Unix

machines via SSH”

Host填写目标地址

Credentials首次设置此项时,点击右边的问号按钮

add some

会有提示内容出现,再点击提示内容中的“add some”页面将会跳转到

manage credentials

我们使用的是SSH

username with password的证书。

填写该linux系统的用户名和密码(此用户名的权限必须具备remote FS root指向的文件的读写和执行的权限)保存

Availability选择“Keep this slave on-line as much as possible”

点击保存。

然后lunch slave,使得master和slave通过ssh成功连接。其实launch的时候jenkins自动地从http://yourserver:port/jnlpJars/slave.jar拷贝slave.jar到slave,然后运行通过命令java -jar slave.jar来运行slave。

以下为成功连接后的界面:

gui

在jenkins上使用slave,只需要在slave的配置上将labels的名称写到jobs的Restrict where this project can be

run中即可。

2.2.3Jenkins的授权和访问控制

默认的Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等。对于多部门协调工作的公司显然不合适,没有任何安全检查会给我们的工作带来很多问题。

我们可以通过以下2方面来增强Jenkins的安全性:

进入http://hostname:8080/manage

点击Configure

Global Security,进入配置界面

配置页

勾选“启用安全”,详细配置如下:

详细配置

首次设置一定要“允许用户注册”和“任何用户可以做任何事(没有任何限制)”

设置好之后,重新进入http://hostname:8080,通过界面注册用户(需要几个注册几个)

登录后重新进入Configure

Global Security,进入配置界面

全局配置

去除“允许用户注册”阻止任何用户注册

授权策略选择“安全矩阵”,便可以对不同的用户设置不同的权限了。

3  解决结果

以上介绍了一些常用的功能,还有jenkins支持的众多插件没介绍,以及更多的运用场景没介绍,希望有兴趣的同学可以自行研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容