介绍
Jenkins是一个开源的持续集成工具。 最初于2004年开始作为哈德森,但由于2011年的争议,他们分叉并继续在名称下,Jenkins。 它可用于构建软件,将软件或网站部署到各种端点或运行单元/行为驱动的软件测试。 本文将演示如何安装,配置Jenkins和创建您的第一个工作。 设置好基础知识后,您将在特定时间安排构建并安装插件。
假设
- 您有一个VPS正在运行,您以root用户身份登录。
- 本文是为Ubuntu 13.04 x64编写的,但说明是通用的,应该至少运行Ubuntu 12.04及以上。
- 假设ci.company.net指向你正在安装Jenkins的框。
安装Jenkins
在我们可以安装Jenkins之前,我们必须将键和源列表添加到apt。 这是通过2个步骤完成的,首先我们添加密钥。
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -
其次,我们将为Jenkins创建一个源列表。
echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list
现在,我们只需要更新apt的缓存,然后我们才能安装Jenkins。
apt-get update
随着缓存已更新,我们可以继续安装Jenkins。 注意Jenkins有一大堆依赖,所以可能需要一些时间来安装它们。
apt-get install jenkins
配置Jenkins
现在Jenkins正在运行,请转到ci.company.net:8080。 你会被默认的Jenkins屏幕欢迎。
目前,安装是不安全的,每个人都可以访问它。 让我们解决这个问题! 首先,转到管理Jenkins(在左侧菜单中),然后单击安装安装在加载的页面上:
然后通过检查以下选项启用安全性:
将其设置为使用Jenkins自己的用户数据库并禁用注册:
接下来,去基于Matrix的安全:
确保匿名只有视图组下的读取权限(当Jenkins没有该组时,它会崩溃):
点击页面底部的保存。 页面加载后,您会看到一个登录表单,忽略它,请再次转到ci.company.net:8080。 您将看到此注册表单:
注册用户名hudson(或任何其他名称,你的喜好,因为Jenkins假设一个小写用户名,我强烈建议你这样选择,以避免混淆),你将是这个新的Jenkins安装的管理员。
添加您的第一份工作
现在,一切都开始运行,是时候创造我们的第一份工作。 单击新建作业链接:
创建一个名为uptime的自由式项目:
按确定,在下一页上,添加一个执行shell构建步骤:
对于命令字段,请填写正常运行时间:
单击屏幕底部的保存按钮。 下一页完成后,加载点击Build Now按钮。
在点击后不久,您将看到构建显示在构建历史记录块中:
单击控制台输出的蓝色球体:
安排您的工作
Jenkins可以按需或在特定时间运行您的工作。 现在我们已经设置了基本构建,现在是配置构建调度的时候了。 首先,单击返回项目链接返回作业概述:
返回概述后,点击配置按钮:
这将导致您在首次设置作业时所显示的配置页面。 现在查找Build触发器并定期检查构建:
现在这个输入字段接受Crontab语法,因此将其设置为@hourly每小时运行一次,并且* * * * *每分钟运行一次。 如果你想做一个像Firefox或WebKit这样的旧版学校,请将它设置为@midnight,在午夜到凌晨2:59之间启动。 我们将它设置为0 * / 6 * * *,每6小时开始,为您提供一个新的构建每天4次。 保存作业时,调度程序将在其指定的时间启动作业。
有一些特殊的附加Jenkins的调度程序。 检查输入字段右侧的蓝色问号,以确定是什么。
安装插件
Jenkins有大量的插件可用。 从构建工具到FTP和SSH发布商,测试覆盖率报告Chuck Norris。 我们将安装一个插件来跟踪不同构建和作业使用的磁盘空间。 这使得更容易寻找空间吃饭。 要开始,请再次管理Jenkins。 然后点击管理插件:
查找磁盘使用插件并选择它:
完成后,点击屏幕底部的Install without without restart按钮:
只需等待,直到插件已经安装并准备好使用。
虽然这是一个相当简单的插件没有设置,有一些插件,如SSH插件,需要在安装后进行一些配置,才能正确使用它们。
结论
恭喜,您刚刚创建并构建了您的第一份工作! 计划它运行每六小时提供全天候建设。 您还安装了一个插件来跟踪您的所有作业磁盘使用情况。 虽然工作是完全无用的,只显示正常运行时间和当前负载,它显示Jenkins的能力可用时,制作工作。 尤其结合插件,Jenkins是一个令人难以置信的强大的工具。