美文网首页
Jenkins环境搭建及使用

Jenkins环境搭建及使用

作者: johney_zhou | 来源:发表于2017-06-22 14:17 被阅读0次

关键词:

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支持的众多插件没介绍,以及更多的运用场景没介绍,希望有兴趣的同学可以自行研究。

相关文章

网友评论

      本文标题:Jenkins环境搭建及使用

      本文链接:https://www.haomeiwen.com/subject/rghfcxtx.html