詹金斯 – 快速指南
詹金斯 – 快速指南
詹金斯 – 概述
为什么是詹金斯?
Jenkins 是一个允许持续集成的软件。Jenkins 将安装在进行中央构建的服务器上。以下流程图展示了一个非常简单的 Jenkins 工作流程。
与詹金斯一起,有时,人们也可能会看到哈德森的联想。Hudson 是一个非常流行的基于 Java 的开源持续集成工具,由 Sun Microsystems 开发,后来被 Oracle 收购。Sun 被 Oracle 收购后,从 Hudson 源代码中创建了一个 fork,从而引入了 Jenkins。
什么是持续集成?
持续集成是一种开发实践,要求开发人员定期将代码集成到共享存储库中。这个概念旨在消除在构建生命周期中发现以后出现的问题的问题。持续集成要求开发人员频繁构建。通常的做法是,无论何时发生代码提交,都应触发构建。
系统要求
JDK | JDK 1.5 或以上 |
Memory | 2 GB RAM(推荐) |
Disk Space | 没有最低要求。请注意,由于所有构建都将存储在 Jenkins 机器上,因此必须确保有足够的磁盘空间可用于构建存储。 |
Operating System Version | Jenkins 可以安装在 Windows、Ubuntu/Debian、Red Hat/Fedora/CentOS、Mac OS X、openSUSE、FReeBSD、OpenBSD、Gentoo 上。 |
Java Container | WAR 文件可以在任何支持 Servlet 2.4/JSP 2.0 或更高版本的容器中运行。(例如 Tomcat 5)。 |
Jenkins – 安装
下载詹金斯
Jenkins 的官方网站是Jenkins。如果你点击给定的链接,你可以得到如下图所示的 Jenkins 官网主页。
默认情况下,可以下载最新版本和长期支持版本。过去的版本也可供下载。单击下载部分中的长期支持版本选项卡。
单击“旧但稳定版本”链接下载 Jenkins 战争文件。
启动詹金斯
打开命令提示符。在命令提示符下,浏览到 jenkins.war 文件所在的目录。运行以下命令
D:\>Java –jar Jenkins.war
运行该命令后,将运行各种任务,其中之一是由名为 winstone 的嵌入式 Web 服务器完成的 war 文件的提取。
D:\>Java –jar Jenkins.war Running from: D:\jenkins.war Webroot: $user.home/ .jenkins Sep 29, 2015 4:10:46 PM winstone.Logger logInternal INFO: Beginning extraction from war file
一旦处理完成且没有重大错误,命令提示符的输出中将出现以下行。
INFO: Jenkins is fully up and running
访问詹金斯
一旦 Jenkins 启动并运行,就可以从链接访问 Jenkins – http://localhost:8080
此链接将打开 Jenkins 仪表板。
詹金斯 – Tomcat 设置
Jenkins Tomcat 设置必须满足以下先决条件。
步骤 1:验证 Java 安装
要验证 Java 安装,请打开控制台并执行以下 java 命令。
OS | 任务 | 命令 |
---|---|---|
Windows | 打开命令控制台 | \>java – 版本 |
Linux | 打开命令终端 | $java –version |
如果 Java 已正确安装在您的系统上,那么您应该获得以下输出之一,具体取决于您使用的平台。
OS | 输出 |
---|---|
Windows |
Java 版本“1.7.0_60” Java (TM) SE 运行时环境(构建 1.7.0_60-b19) Java Hotspot (TM) 64 位服务器 VM(构建 24.60-b09,混合模式) |
Linux |
java版本“1.7.0_25” 打开 JDK 运行时环境 (rhel-2.3.10.4.el6_4-x86_64) 打开 JDK 64 位服务器 VM(构建 23.7-b01,混合模式) |
我们假设本教程的读者在继续本教程之前已在其系统上安装了 Java 1.7.0_60。
如果您没有 Java JDK,可以从Oracle链接下载
步骤 2:验证 Java 安装
将 JAVA_HOME 环境变量设置为指向机器上安装 Java 的基本目录位置。例如,
OS | 输出 |
---|---|
Windows | 将环境变量 JAVA_HOME 设置为 C:\ProgramFiles\java\jdk1.7.0_60 |
Linux | 导出 JAVA_HOME=/usr/local/java-current |
将 Java 编译器位置的完整路径附加到系统路径。
OS | 输出 |
---|---|
Windows | 追加字符串;C:\Program Files\Java\jdk1.7.0_60\bin 到系统变量PATH的末尾。 |
Linux | 导出路径=$PATH:$JAVA_HOME/bin/ |
如上所述,从命令提示符验证命令 java-version。
第三步:下载Tomcat
tomcat 的官方网站是Tomcat。如果你点击给定的链接,你可以得到如下图所示的tomcat官网首页。
浏览到链接https://tomcat.apache.org/download-70.cgi以获取 tomcat 的下载。
转到“二进制分布”部分。下载 32 位 Windows zip 文件。
然后解压缩下载的 zip 文件的内容。
第 4 步:Jenkins 和 Tomcat 设置
将上一节下载的Jenkis.war文件复制到tomcat文件夹下的webapps文件夹中。
现在打开命令提示符。在命令提示符下,浏览到 tomcat7 文件夹所在的目录。浏览到此文件夹中的 bin 目录并运行 start.bat 文件
E:\Apps\tomcat7\bin>startup.bat
一旦处理完成且没有重大错误,命令提示符的输出中将出现以下行。
INFO: Server startup in 1302 ms
打开浏览器并转到链接 – http://localhost:8080/jenkins。Jenkins 将在 tomcat 上启动并运行。
詹金斯 – Git 设置
对于本练习,您必须确保安装了 Jenkins 的机器具有 Internet 连接。在您的 Jenkins 仪表板(主屏幕)中,单击左侧的管理 Jenkins 选项。
在下一个屏幕中,单击“管理插件”选项。
在下一个屏幕中,单击可用选项卡。此选项卡将提供可供下载的插件列表。在“过滤器”选项卡中输入“Git 插件”
然后将过滤该列表。选中 Git Plugin 选项并单击“Install without restart”按钮
然后安装将开始,屏幕将刷新以显示下载状态。
所有安装完成后,通过在浏览器中发出以下命令来重新启动 Jenkins。http://localhost:8080/jenkins/restart
Jenkins 重新启动后,Git 将在配置作业时作为一个选项可用。要进行验证,请单击 Jenkins 菜单选项中的新建项目。然后输入作业的名称,在以下情况下,输入的名称是“Demo”。选择“自由式项目”作为项目类型。单击确定按钮。
在下一个屏幕中,如果您浏览到“源代码管理”部分,您现在将看到“Git”作为一个选项。
詹金斯 – Maven 设置
第 1 步:下载和设置 Maven
maven 的官方网站是Apache Maven。如果你点击给定的链接,你可以得到maven官网的主页,如下图。
在浏览站点时,转到“文件”部分并下载指向 Binary.zip 文件的链接。
下载文件后,将文件解压缩到相关的应用程序文件夹。为此,maven 文件将放置在 E:\Apps\apache-maven-3.3.3 中。
第 2 步:设置 Jenkins 和 Maven
在 Jenkins 仪表板(主屏幕)中,单击左侧菜单中的管理 Jenkins。
然后,单击右侧的“配置系统”。
在配置系统屏幕中,向下滚动直到看到 Maven 部分,然后单击“添加 Maven”按钮。
取消选中“自动安装”选项。
为设置和 MAVEN_HOME 的位置添加任何名称。
然后,单击屏幕末尾的“保存”按钮。
您现在可以使用“Maven 项目”选项创建作业。在 Jenkins 仪表板中,单击 New Item 选项。
詹金斯 – 配置
您可能会在之前的练习中看到几次,其中我们必须在 Jenkins 中配置选项。下面显示了 Jenkins 中的各种配置选项。
因此,可以通过单击左侧菜单侧的“管理 Jenkins”选项来获取 Jenkins 的各种配置选项。
然后您将看到以下屏幕 –
单击配置系统。下面讨论的是一些可以执行的 Jenkins 配置设置。
詹金斯主目录
Jenkins 需要一些磁盘空间来执行构建和保存档案。可以从 Jenkins 的配置屏幕检查此位置。默认情况下,它被设置为 ~/.jenkins,并且该位置最初将存储在您的用户配置文件位置中。在适当的环境中,您需要将此位置更改为足够的位置来存储所有相关的构建和存档。一次可以通过以下方式做到这一点
-
在启动 servlet 容器之前,将“JENKINS_HOME”环境变量设置为新的主目录。
-
将“JENKINS_HOME”系统属性设置为 servlet 容器。
-
将 JNDI 环境条目“JENKINS_HOME”设置为新目录。
以下示例将使用设置“JENKINS_HOME”环境变量的第一个选项。
首先新建一个文件夹E:\Apps\Jenkins。将现有 ~/.jenkins 中的所有内容复制到这个新目录中。
将 JENKINS_HOME 环境变量设置为指向机器上安装 Java 的基本目录位置。例如,
OS | 输出 |
---|---|
Windows | 将环境变量 JENKINS_HOME 设置为您想要的位置。例如,您可以将其设置为 E:\Apps\Jenkins |
Linux | export JENKINS_HOME =/usr/local/Jenkins 或您想要的位置。 |
在 Jenkins 仪表板中,单击左侧菜单中的管理 Jenkins。然后单击右侧的“配置系统”。
在主目录中,您现在将看到已配置的新目录。
# 执行者
这是指可以在 Jenkins 机器上发生的并发作业执行总数。这可以根据要求进行更改。有时建议将此数字与机器上的 CPU 数量保持相同,以获得更好的性能。
环境变量
这用于添加将应用于所有作业的自定义环境变量。这些是键值对,可以在需要时在构建中访问和使用。
詹金斯网址
默认情况下,Jenkins URL 指向 localhost。如果您为您的机器设置了域名,请将其设置为域名,否则用机器的 IP 覆盖 localhost。这将有助于设置从站并使用电子邮件发送链接,因为您可以使用环境变量 JENKINS_URL 直接访问 Jenkins URL,该变量可以作为 ${JENKINS_URL} 访问。
电子邮件通知
在电子邮件通知区域,您可以配置发送电子邮件的 SMTP 设置。这是 Jenkins 连接到 SMTP 邮件服务器并向收件人列表发送电子邮件所必需的。
詹金斯 – 管理
要管理 Jenkins,请单击左侧菜单侧的“管理 Jenkins”选项。
因此,可以通过单击左侧菜单侧的“管理 Jenkins”选项来获取 Jenkins 的各种配置选项。
然后您将看到以下屏幕 –
一些管理选项如下 –
配置系统
在这里可以管理构建中使用的各种工具的路径,例如 JDK、Ant 和 Maven 的版本,以及安全选项、电子邮件服务器和其他系统范围的配置细节。安装插件时。Jenkins 会在插件安装后动态添加所需的配置字段。
从磁盘重新加载配置
Jenkins 将其所有系统和构建作业配置详细信息存储为存储在 Jenkins 主目录中的 XML 文件。这里也存储了所有的构建历史。如果您要将构建作业从一个 Jenkins 实例迁移到另一个实例,或归档旧的构建作业,则需要在 Jenkins 的构建目录中添加或删除相应的构建作业目录。您不需要让 Jenkins 离线来执行此操作——您可以简单地使用“从磁盘重新加载配置”选项来重新加载 Jenkins 系统并直接构建作业配置。
管理插件
在这里,您可以直接从不同的源代码管理工具(例如 Git、Mercurial 或 ClearCase)安装各种第三方插件,以生成代码质量和代码覆盖率指标报告。可以通过管理插件屏幕安装、更新和删除插件。
系统信息
此屏幕显示所有当前 Java 系统属性和系统环境变量的列表。在这里,可以准确地检查 Java Jenkins 正在运行的版本,它在什么用户下运行,等等。
以下屏幕截图显示了此部分中可用的一些名称-值信息。
系统日志
系统日志屏幕是实时查看 Jenkins 日志文件的便捷方式。同样,此屏幕的主要用途是进行故障排除。
负载统计
此页面显示有关 Jenkins 实例在并发构建数量和构建队列长度方面的繁忙程度的图形数据,这给出了您的构建在执行前需要等待多长时间的概念。从基础设施的角度来看,这些统计数据可以很好地说明是否需要额外的容量或额外的构建节点。
脚本控制台
此屏幕允许您在服务器上运行 Groovy 脚本。它对于高级故障排除很有用,因为它需要对内部 Jenkins 架构有深入的了解。
管理节点
Jenkins 能够处理并行和分布式构建。在此屏幕中,您可以配置所需的构建数量。Jenkins 同时运行,如果您使用分布式构建,请设置构建节点。构建节点是 Jenkins 可以用来执行其构建的另一台机器。
准备关机
如果需要关闭 Jenkins,或者运行 Jenkins 的服务器,最好不要在构建执行时这样做。要彻底关闭 Jenkins,您可以使用 Prepare for Shutdown 链接,以防止启动任何新构建。最终,当所有当前构建完成后,您将能够干净利落地关闭 Jenkins。
Jenkins – 设置构建作业
在本练习中,我们将在 Jenkins 中创建一个作业,它选取一个简单的 HelloWorld 应用程序,构建并运行 Java 程序。
步骤 1 – 转到 Jenkins 仪表板并单击新建项目
第 2 步– 在下一个屏幕中,输入项目名称,在本例中,我们将其命名为 Helloworld。选择“自由式项目选项”
步骤 3 – 将出现以下屏幕,您可以在其中指定作业的详细信息。
第 4 步– 我们需要指定需要构建的文件的位置。在这个例子中,我们假设一个本地 git 存储库(E:\Program)已经建立,其中包含一个“HelloWorld.java”文件。因此向下滚动并单击 Git 选项并输入本地 git 存储库的 URL。
注意– 如果您的存储库托管在 Github 上,您还可以在此处输入该存储库的 URL。除此之外,您需要单击凭据的“添加”按钮将用户名和密码添加到 github 存储库,以便可以从远程存储库中获取代码。
第 5 步– 现在转到“构建”部分,然后单击“添加构建步骤”→“执行 Windows 批处理命令”
步骤 6 – 在命令窗口中,输入以下命令,然后单击保存按钮。
Javac HelloWorld.java Java HelloWorld
步骤 7 – 保存后,您可以单击“立即构建”选项以查看您是否已成功定义作业。
第 8 步– 计划构建后,它将运行。以下构建历史部分显示正在进行构建。
步骤 9 – 构建完成后,构建状态将显示构建是否成功。在我们的例子中,以下构建已成功执行。单击构建历史记录中的 #1 以显示构建的详细信息。
步骤 10 – 单击控制台输出链接以查看构建的详细信息
除了上面显示的步骤之外,还有很多方法可以创建构建作业,可用的选项也很多,这使 Jenkins 成为如此出色的持续部署工具。
Jenkins – 单元测试
Jenkins 为 Junit 提供了开箱即用的功能,并为其他技术的单元测试提供了大量插件,一个例子是用于 .Net 单元测试的 MSTest。如果您转到链接https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin,它将提供可用的单元测试插件列表。
Jenkins 中的 Junit 测试示例
下面的例子将考虑
- 基于 Junit 的简单 HelloWorldTest 类。
- Ant 作为 Jenkins 中的构建工具来相应地构建类。
步骤 1 – 转到 Jenkins 仪表板并单击现有的 HelloWorld 项目并选择配置选项
步骤 2 – 浏览到添加构建步骤的部分,然后选择调用 Ant 的选项。
步骤 3 – 单击高级按钮。
步骤 4 – 在构建文件部分,输入 build.xml 文件的位置。
步骤 5 – 接下来单击添加后期构建选项的选项,然后选择“发布 Junit 测试结果报告”选项
步骤 6 – 在测试报告 XML 中,输入如下所示的位置。确保 Reports 是在 HelloWorld 项目工作区中创建的文件夹。“*.xml”基本上是告诉 Jenkins 获取由运行 Junit 测试用例产生的结果 xml 文件。然后将这些 xml 文件转换为可以稍后查看的报告。
完成后,单击最后的保存选项。
步骤 7 – 保存后,您可以单击“立即构建”选项。
构建完成后,构建状态将显示构建是否成功。在构建输出信息中,您现在会注意到一个名为测试结果的附加部分。在我们的例子中,我们输入了一个否定的测试用例,这样结果就会失败,作为一个例子。
可以转到控制台输出以查看更多信息。但更有趣的是,如果您单击“测试结果”,您现在将看到“测试结果”的下钻。
Jenkins – 自动化测试
持续集成的基本原则之一是构建应该是可验证的。您必须能够客观地确定特定构建是否已准备好进入构建过程的下一个阶段,最方便的方法是使用自动化测试。如果没有适当的自动化测试,您会发现自己必须保留许多构建工件并手动测试它们,这几乎不符合持续集成的精神。以下示例展示了如何使用 Selenium 运行自动化 Web 测试。
步骤 1 – 转到管理插件。
第 2 步– 找到 Hudson Selenium 插件并选择安装。重启 Jenkins 实例。
步骤 3 – 转到配置系统。
步骤 4 – 配置 selenium 服务器 jar 并单击“保存”按钮。
注意– 硒 jar 文件可以从位置SeleniumHQ下载
单击下载 Selenium 独立服务器。
第 5 步– 返回仪表板并单击 HelloWorld 项目的配置选项。
步骤 6 – 单击添加构建步骤并选择“SeleniumHQ htmlSuite Run”选项
步骤 7 – 为硒测试添加必要的详细信息。这里的suiteFile 是使用Selenium IDE 生成的TestSuite。单击保存并执行构建。现在后期构建将启动 selenium 驱动程序,并执行 html 测试。
詹金斯 – 通知
Jenkins 带有一个开箱即用的工具,可以为构建项目添加电子邮件通知。
步骤 1 – 配置 SMTP 服务器。转到管理 Jenkins → 配置系统。转至电子邮件通知部分并输入所需的 SMTP 服务器和用户电子邮件后缀详细信息。
第 2 步– 在 Jenkins 项目中配置收件人 – 当您配置任何 Jenkins 构建项目时,最后是能够添加接收者,他们会收到有关不稳定或损坏构建的电子邮件通知。然后点击保存按钮。
除了默认的,市场上还有通知插件可用。一个例子是来自 Tikal Knowledge 的通知插件,它允许以 JSON 和 XML 格式发送作业状态通知。此插件允许配置端点,如下所示。
以下是每个选项的详细信息 –
-
“格式” – 这是通知负载格式,可以是 JSON 或 XML。
-
“协议” – 用于发送通知消息的协议,HTTP、TCP 或 UDP。
-
“事件” – 触发通知的作业事件:作业开始、作业完成、作业完成或所有事件(默认选项)。
-
“URL” – 向其发送通知的 URL。对于 HTTP 协议,以及对于 TCP 和 UDP 协议,它采用“ http://host ”的形式
"host:port"
。 -
“超时” – 发送通知请求的超时时间(以毫秒为单位),默认为 30 秒。
詹金斯 – 报告
如前一节所示,有许多报告插件可用,最简单的一个是可用于 jUnit 测试的报告。
在任何作业的 Post-build 操作中,您可以定义要创建的报告。构建完成后,测试结果选项将可用于进一步深入研究。
Jenkins – 代码分析
Jenkins 有很多代码分析插件。各种插件可以在https://wiki.jenkins-ci.org/display/JENKINS/Static+Code+Analysis+Plugins找到
该插件为静态代码分析插件提供实用程序。Jenkins可以解析CheckStyle、FindBugs、PMD等各种代码分析工具的结果文件,每个对应的代码分析工具都需要在Jenkins中安装一个插件。
此外,还提供附加插件静态分析收集器,可将这些插件的单个结果组合到单个趋势图和视图中。
插件可以提供信息,例如
- 作业中的警告总数
- 显示构建的新的和固定的警告
- 趋势报告显示每个构建的警告数量
- 按模块、包、类别或类型找到的警告概述
- 找到的警告的详细报告,可选择按严重性(或新的和已修复的)过滤
Jenkins – 分布式构建
有时,如果存在定期构建更大更重的项目的情况,则需要许多构建机器。在中央机器上运行所有这些构建可能不是最佳选择。在这种情况下,可以将其他 Jenkins 机器配置为从机器,以减轻主 Jenkins 服务器的负载。
有时您可能还需要几个不同的环境来测试您的构建。在这种情况下,几乎必须使用从站来表示您所需的每个环境。
从机是一台设置为从主机卸载构建项目的计算机,一旦设置好,这种任务分配就相当自动了。确切的委派行为取决于每个项目的配置;一些项目可能会选择“坚持”到特定机器上进行构建,而其他项目可能会选择在奴隶之间自由漫游。
由于每个从站运行一个单独的程序,称为“从站代理”,因此无需在从站上安装完整的 Jenkins(包或编译的二进制文件)。启动slave agent的方式有很多种,但最终slave agent和Jenkins master需要建立双向通信链路(例如TCP/IP socket)才能运行。
要在 Jenkins 中设置从站/节点,请按照以下步骤操作。
第 1 步– 转到“管理 Jenkins”部分并向下滚动到“管理节点”部分。
步骤 2 – 单击新节点
步骤 3 – 为节点命名,选择 Dumb slave 选项并单击 Ok。
步骤 4 – 输入节点从机的详细信息。在下面的例子中,我们将slave机器视为windows机器,因此选择“让Jenkins控制这个Windows slave作为Windows服务”作为启动方式。我们还需要添加从节点的必要详细信息,例如节点名称和节点机器的登录凭据。单击保存按钮。名称输入为“New_Slave”的标签可用于配置作业以使用此从机。
完成上述步骤后,新节点机器最初将处于离线状态,但如果前一屏幕中的所有设置都正确输入,则会在线。如果需要,可以随时将节点从机设为离线。
Jenkins – 自动化部署
有许多插件可用于在成功构建后将构建文件传输到相应的应用程序/Web 服务器。例如“部署到容器插件”。要使用它,请按照下面给出的步骤操作。
步骤 1 – 转到管理 Jenkins → 管理插件。转到可用部分并找到插件“部署到容器插件”并安装该插件。重启 Jenkins 服务器。
这个插件需要一个 war/ear 文件,并在构建结束时将它部署到正在运行的远程应用程序服务器。
Tomcat 4.x/5.x/6.x/7.x
JBoss 3.x/4.x
玻璃鱼 2.x/3.x
第 2 步– 转到您的构建项目并单击配置选项。选择“将战争/耳朵部署到容器”选项
步骤 3 – 在将 war/ear 部署到容器部分中,输入需要部署文件的服务器的所需详细信息,然后单击保存按钮。这些步骤现在将确保在成功构建后将必要的文件部署到必要的容器中。
Jenkins – 指标和趋势
Jenkins 中提供了各种插件来展示在一段时间内执行的构建的指标。这些指标有助于了解您的构建以及它们随着时间的推移失败/通过的频率。例如,让我们看看“构建历史指标插件”。
此插件在安装后计算所有构建的以下指标
- 平均无故障时间 (MTTF)
- 平均恢复时间 (MTTR)
- 构建时间的标准偏差
第 1 步– 转到 Jenkins 仪表板并单击管理 Jenkins
步骤 2 – 转到管理插件选项。
第 3 步– 转到“可用”选项卡并搜索插件“构建历史指标插件”并选择“无需重启即可安装”。
步骤 4 – 显示以下屏幕以确认插件安装成功。重启 Jenkins 实例。
当您转到您的工作页面时,您将看到一个包含计算指标的表格。指标显示过去 7 天、过去 30 天和所有时间。
要查看 Jenkins 的总体趋势,有一些插件可用于从构建和 Jenkins 中收集信息并以图形格式显示它们。此类插件的一个示例是“Hudson global-build-stats 插件”。因此,让我们完成此操作的步骤。
第 1 步– 转到 Jenkins 仪表板并单击管理 Jenkins
步骤 2 – 转到管理插件选项
步骤 3 – 转到“可用”选项卡并搜索插件“Hudson global-build-stats 插件”并选择“无需重启即可安装”。
步骤 4 – 显示以下屏幕以确认插件安装成功。重启 Jenkins 实例。
要查看全局统计数据,请按照第 5 步到第 8 步操作。
第 5 步– 转到 Jenkins 仪表板并单击管理 Jenkins。在 Manage Jenkins 屏幕中,向下滚动,现在您将看到一个名为“Global Build Stats”的选项。单击此链接。
步骤 6 – 单击“初始化统计信息”按钮。这样做是为了收集已经执行的构建的所有现有记录,并且可以根据这些结果创建图表。
第 7 步– 初始化数据后,就可以创建新图表了。单击“创建新图表”链接。
步骤 8 – 将出现一个弹出窗口,输入新图表详细信息的相关信息。输入以下必填信息
- 标题 – 任何标题信息,在本例中以“演示”形式给出
- 图表宽度 – 800
- 图表高度 – 600
- 图表时间尺度 – 每日
- 图表时间长度 – 30 天
其余信息可以保持原样。输入信息后,单击创建新图表。
您现在将看到显示构建随时间变化的趋势的图表。
如果您单击图表中的任何部分,它会让您深入了解作业及其构建的详细信息。
Jenkins – 服务器维护
以下是您将进行的一些基本活动,其中一些是Jenkins服务器维护的最佳实践
网址选项
附加到 Jenkins 实例 URL 的以下命令将在 Jenkins 实例上执行相关操作。
http://localhost:8080/jenkins/exit – 关闭 jenkins
http://localhost:8080/jenkins/restart – 重启詹金斯
http://localhost:8080/jenkins/reload – 重新加载配置
备份詹金斯主页
Jenkins 主目录只不过是驱动器上 Jenkins 存储作业、构建等所有信息的位置。当您单击管理 Jenkins → 配置系统时,可以看到主目录的位置。
在具有最多可用磁盘空间的分区上设置 Jenkins – 由于 Jenkins 将为定义的各种作业获取源代码并进行持续构建,因此始终确保 Jenkins 设置在具有足够硬盘空间的驱动器上。如果您的硬盘空间不足,那么 Jenkins 实例上的所有构建都将开始失败。
另一个最佳实践是编写可以执行清理操作的 cron 作业或维护任务,以避免 Jenkins 设置的磁盘变满。
Jenkins – 持续部署
Jenkins 为提供持续部署和交付提供了良好的支持。如果您查看通过部署进行的任何软件开发流程,它将如下所示。
持续部署的主要部分是确保上面显示的整个过程是自动化的。Jenkins 通过各种插件实现了这一切,其中之一就是在前面的课程中看到的“部署到容器插件”。
有可用的插件实际上可以为您提供持续部署过程的图形表示。但首先让我们在 Jenkins 中创建另一个项目,以便我们可以最好地了解它是如何工作的。
让我们创建一个模拟 QA 阶段的简单项目,并对 Helloworld 应用程序进行测试。
步骤 1 – 转到 Jenkins 仪表板并单击新建项目。选择一个“自由式项目”并输入项目名称作为“QA”。单击“确定”按钮以创建项目。
第 2 步– 在这个例子中,我们保持简单,只是使用这个项目来执行 Helloworld 应用程序的测试程序。
所以我们的项目 QA 现在已经设置好了。您可以进行构建以查看它是否正确构建。
第 3 步– 现在转到您的 Helloworld 项目并单击“配置”选项
第 4 步– 在项目配置中,选择“添加构建后操作”并选择“构建其他项目”
第 5 步– 在“要构建的项目”部分中,输入 QA 作为要构建的项目名称。您可以将该选项保留为“仅在构建稳定时触发”的默认值。单击“保存”按钮。
第 6 步– 构建 Helloworld 项目。现在如果看到Console输出,还会看到Helloworld项目构建成功后,QA项目的构建也会发生。
第 7 步– 现在安装交付管道插件。转到管理 Jenkins → 管理插件。在可用选项卡中,搜索“Delivery Pipeline Plugin”。单击“安装而无需重新启动”。完成后,重新启动 Jenkins 实例。
第 8 步– 要查看正在运行的交付管道,请在 Jenkins 仪表板中,单击“全部”选项卡旁边的选项卡中的 + 符号。
步骤 9 – 为视图名称输入任何名称,然后选择“交付管道视图”选项。
步骤 10 – 在下一个屏幕中,您可以保留默认选项。可以更改以下设置 –
- 确保选中“显示静态分析结果”选项。
- 确保选中“显示总构建时间”选项。
- 对于初始作业 – 输入 Helloworld 项目作为应该构建的第一个作业。
- 输入管道的任何名称
- 单击确定按钮。
您现在将看到整个交付管道的绝佳视图,并且您将能够查看整个管道中每个项目的状态。
另一个著名的插件是构建管道插件。让我们来看看这个。
步骤 1 – 转到管理 Jenkins → 管理插件。在可用选项卡中,搜索“构建管道插件”。单击“安装而无需重新启动”。完成后,重新启动 Jenkins 实例。
第 2 步– 要查看正在运行的构建管道,请在 Jenkins 仪表板中,单击“全部”选项卡旁边的选项卡中的 + 符号。
步骤 3 – 为视图名称输入任何名称,然后选择“构建管道视图”选项。
Step 4 – 接受默认设置,就在 Selected Initial 作业中,确保输入 Helloworld 项目的名称。单击确定按钮。
您现在将看到整个交付管道的绝佳视图,并且您将能够查看整个管道中每个项目的状态。
Jenkins – 管理插件
要获取 Jenkins 中所有可用插件的列表,可以访问链接 – https://wiki.jenkins-ci.org/display/JENKINS/Plugins
我们已经看到了很多安装插件的实例,让我们看看其他一些关于插件的维护任务
卸载插件
要卸载插件,请转到管理 Jenkins → 管理插件。单击已安装选项卡。一些插件将具有卸载选项。您可以单击这些按钮来卸载插件。确保在卸载后重新启动 Jenkins 实例。
安装另一个版本的插件
有时可能需要安装旧版本的插件,在这种情况下,您可以从 Jenkins 网站上的相关插件页面下载该插件。然后,您可以使用上传选项手动上传插件。
詹金斯 – 安全
在 Jenkins 中,您可以在 Jenkins 实例上设置用户及其相关权限。默认情况下,您不会希望每个人都能够在 Jenkins 中定义作业或其他管理任务。因此 Jenkins 有能力进行安全配置。
要在 Jenkins 中配置安全性,请按照以下步骤操作。
第 1 步– 单击“管理 Jenkins”并选择“配置全局安全性”选项。
步骤 2 – 单击启用安全选项。例如,假设我们希望 Jenkins 维护它自己的用户数据库,因此在安全领域中,选择“Jenkins’自己的用户数据库”选项。
默认情况下,您希望中央管理员在系统中定义用户,因此请确保取消选中“允许用户注册”选项。您可以暂时保留其余部分,然后单击“保存”按钮。
步骤 3 – 系统将提示您添加第一个用户。例如,我们正在为系统设置管理员用户。
第 4 步– 现在是在系统中设置用户的时候了。现在,当您转到“管理 Jenkins”并向下滚动时,您将看到“管理用户”选项。单击此选项。
第 5 步– 就像您定义管理员用户一样,开始为系统创建其他用户。例如,我们只是创建了另一个名为“user”的用户。
第 6 步– 现在是设置您的授权的时候了,基本上谁可以访问什么。转到管理 Jenkins → 配置全局安全性。
现在在授权部分,单击“基于矩阵的安全性”
步骤 7 – 如果您在用户组列表中没有看到该用户,请输入用户名并将其添加到列表中。然后给用户适当的权限。
定义相关权限后,单击“保存”按钮。
您的 Jenkins 安全性现已设置。
注意– 对于 Windows AD 身份验证,必须将 Active Directory 插件添加到 Jenkins。
Jenkins – 备份插件
Jenkins 有一个备份插件,可用于备份与 Jenkins 相关的关键配置设置。按照下面给出的步骤进行备份。
第 1 步– 单击“管理 Jenkins”并选择“管理插件”选项。
步骤 2 – 在可用选项卡中,搜索“备份插件”。单击“安装而无需重新启动”。完成后,重启 Jenkins 实例
第 3 步– 现在,当您转到“管理 Jenkins”并向下滚动时,您将看到“备份管理器”作为一个选项。单击此选项。
步骤 4 – 单击设置。
步骤 5 – 在这里,要定义的主要字段是备份目录。确保它位于另一个驱动器上,该驱动器与设置 Jenkins 实例的驱动器不同。单击“保存”按钮。
步骤 6 – 单击备份管理器屏幕中的“备份 Hudson 配置”以启动备份。
下一个屏幕将显示备份的状态
要从备份中恢复,请转到备份管理器屏幕,单击恢复 Hudson 配置。
将显示备份列表,单击相应的列表以单击启动还原以开始还原备份。
Jenkins – 远程测试
通过安装主从和 selenium 套件插件,可以在远程从机上运行诸如 selenium 测试之类的 Web 测试。以下步骤显示了如何使用此配置运行远程测试。
步骤 1 – 确保您的主从配置到位。转到您的主 Jenkins 服务器。转到管理 Jenkins → 管理节点。
在我们的节点列表中,DXBMEM30 标签是从机。在这个例子中,master 和 slave 机器都是 windows 机器。
步骤 2 – 单击 DXBMEM30 从机的配置。
第 3 步– 确保将启动方法设置为“通过 Java Web Start 启动从代理”
第 4 步– 现在转到您的从机,然后从那里打开一个浏览器实例到您的 Jenkins 主实例。然后转到管理 Jenkins → 管理节点。转到 DXBMEM30 并单击
步骤 5 – 单击 DXBMEM30 实例。
第 6 步– 向下滚动,您将看到 Launch 选项,这是启动“Java Web Start”的选项
步骤 7 – 您将看到安全警告。单击接受复选框,然后单击运行。
您现在将看到一个 Jenkins Slave 窗口已打开并已连接。
第 8 步– 配置您的测试以在从站上运行。在这里,您必须确保正在创建的作业专门用于仅运行 selenium 测试。
在作业配置中,确保选择了“限制此项目可以运行的位置”选项,并在标签表达式中输入从节点的名称。
第 9 步– 确保已配置作业的硒部分。您必须确保从属计算机上也存在 Sample.html 文件和 selenium-server.jar 文件。
完成上述所有步骤后,单击 Build,该项目将按预期在从机上运行 Selenium 测试。