Jenkins CI/CD 一直是 DevOps 专业人士和初学者的首选。它在GitHub和 6,500 个分叉上拥有超过 16,000 颗星。作为 CI/CD 市场中最古老的参与者之一,Jenkins 拥有庞大的社区支持,拥有超过 1500 个插件,可帮助专业人员通过他们的 Jenkins Pipelines 更快地交付。
无论您是刚刚开始 CI/CD 之旅,还是正在寻找 Jenkins Pipeline 的快速回顾,那么您来对地方了!
本 Jenkins 管道教程将提供设置 Jenkins 管道所需的所有信息以及底层概念的详细说明。您还将通过在线 Selenium Grid学习如何在 Jenkins Pipeline 中使用 Selenium 执行自动化测试。
对于初学者,在深入了解本 Jenkins Pipeline 教程之前,我将先谈谈持续集成的基本原则。如果您已经熟悉它,请随时跳过本节。
什么是 CI(持续集成)?
持续集成是一种开发方法,其中成员在同一个项目上协调工作以更频繁地集成他们的工作。代码被集成到共享存储库中,任何集成都通过自动化测试用例或序列进行测试以查找错误。每个团队成员都应在需要时至少每天一次或多次集成他们的代码。
CI 的定义是在大约 20 年前首次制定的,目的是防止“集成混乱”,即集成被推迟到生产结束时发生的情况。一旦提交代码,并且软件构建过程成功完成,CI 工具会立即测试代码。如果测试通过,CI 工具会部署代码并将其推送到生产过程中。提交、构建、测试和部署的整个过程在软件开发中不断进行,因此被称为“持续集成”。
CI 流程由四个有助于执行的关键要素组成:
-
托管 CI 工具解决方案
-
虚拟机
-
版本控制系统
-
工具
对于公司来说,建立、配置和管理一个恒定的工作流程一直是一个重大挑战。由于过去几年的快速变化,自从引入持续集成和持续交付(CI/CD) 以来,软件开发已经向前迈出了一大步。现在,您了解了 CI 在软件开发中扮演的角色,我们可以继续讨论这个 Jenkins 管道教程的中心目标。
什么是詹金斯?
[](https://res.cloudinary.com/practicaldev/image/fetch/s--mrYfvzOT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest.com /blog/wp-content/uploads/2020/09/Jenkins.png)
Jenkins CI/CD 是一个持续集成的开源工具。它是使用 Java 开发的。这允许实时监控和记录对更全面的代码库的离散改进。它使开发人员可以轻松识别、修复代码库中的错误,并简化构建的验证。 Jenkins 是最受欢迎的 CI/CD 工具,因为它密切监视重复性工作并在项目生产期间协助自动执行。
Jenkins CI/CD 是一个基于云的系统,可以作为一个独立的应用程序在自己的服务器上运行。或者,它也可以使用诸如 Glassfish、JBoss 或 WebSphere 之类的 Web 服务器。使用 Jenkins,开发人员可以加快他们的产品创建周期,因为 Jenkins 可以立即简化构建和测试。 Jenkins CI/CD 通过设计、测试、监控、部署和周期的其他阶段来促进整个软件开发周期 (SDLC)。
Jenkins CI/CD的优势
-
一个开放的社区运营着 Jenkins。他们每个月都会举办公开会议,并就 Jenkins 计划的进展征求客户的反馈。
-
Jenkins 还采用基于云的设计来促进基于云的平台。
-
Jenkins 在其插件文件夹中提供了 1500 多个扩展。通过插件,与其他工具相比,Jenkins CI/CD 更加高效和成熟。
-
Jenkins CI/CD 为并行测试执行提供了极好的支持。这有助于通过并行运行现有的测试过程来加速它们。
虽然 Jenkins CI/CD 为开发人员提供了多种好处,但它并不完美。使用 Jenkins 的一些主要痛点是复杂的安装和定制、过时的布局以及需要一些项目管理经验。
然而,这些观点并不足以阻止开发人员采用 Jenkins,因为它仍然提供了整个 CI/CD 领域中的一些最佳功能。本 Jenkins 流水线教程的下一部分将解释为什么 Jenkins CI/CD 仍然是全球开发人员的首选。
什么是 Jenkins 流水线?
[](https://res.cloudinary.com/practicaldev/image/fetch/s--lR4sVOW---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Jenkins-Pipeline.png)
在 Jenkins CI/CD 内部,管道被定义为以特定顺序互连的一系列事件或任务。简而言之,Jenkins 管道是一组模块或插件,可以在 Jenkins 中实现和集成持续交付管道。
Jenkins 管道具有可扩展的自动化系统,用于通过管道中使用的领域特定语言 (DSL) 构建基本或复杂的“模板”分发管道。 Jenkins 流水线中有四种持续交付状态-
-
建造
-
部署
-
测试
-
发布
我们将在本 Jenkins 流水线教程的下一部分中详细讨论这些状态。现在,让我们更多地谈谈为什么需要 Jenkins 管道。
为什么要使用 Jenkins 流水线?
正如上面本 Jenkins 管道教程中所解释的,Jenkins CI/CD 在交付高质量的应用程序或产品方面发挥着重要作用。我们现在知道 Jenkins 已被证明是持续集成、持续测试和持续交付方面的专家。它使用了一个名为 Jenkins 管道的功能来进行持续交付,这基本上是定期发布应用程序的能力。此过程可确保软件始终为生产做好准备。
要深入了解本 Jenkins 流水线教程,我们需要了解 Jenkins CI/CD 流水线提供的优势。
Jenkins流水线的优势
Jenkins 流水线的亮点在于它提供了定义完整部署流程配置和代码的功能。它指出所有标准的 Jenkins 作业都可以作为一个完整的脚本手动编写,并且可以通过版本控制系统进行管理。
它本质上遵循“管道即代码”的原则。因此,我们无需为每个流程创建多个作业,而是允许我们对整个工作流程进行编码并将其放入 Jenkins 文件中。以下是在将 Jenkins 管道用于使用 Selenium 进行 Jenkins 测试自动化之前可能会考虑的一些原因。
-
通过使用 Groovy DSL(领域特定语言),它将易于复杂的管道建模为代码。
-
代码以名为“Jenkinsfile”的文本文件的形式存储,可以扫描到源代码管理中。
-
它通过添加条件循环、分叉或加入操作并允许并行执行任务来支持复杂的管道。
-
它通过将用户反馈集成到管道中来改善用户体验。
-
就 Jenkins 的主计划外重启而言,它具有弹性。
-
可以从保存的检查点恢复。
-
它可以合并多个附加插件和加载项。
接下来,我们将在这个 Jenkins 管道教程中了解 Jenkinsfile。
什么是 Jenkinsfile?
要继续我们的 Jenkins 流水线教程,我们需要了解 Jenkinsfile 的作用。它是一个文本文件,将整个过程作为代码存储在我们的本地机器中。可以在 Git 等源代码管理 (SCM) 平台中对其进行审查。它很有帮助,因为它可以帮助开发人员在需要时查看、编辑和测试代码。
Jenkinsfile 是使用 Groovy 领域特定语言编写的,可以使用文本编辑器或 Jenkins 实例配置选项卡生成。
可以构建 Jenkins 管道有两种不同的类型。这些是语法 -
-
声明性管道语法
-
脚本化管道语法
Declarative 管道是一个相对较新的特性,它支持代码管道的概念。它支持读取和写入管道代码。此代码编写在 Jenkinsfile 中,可以在 Git 等工具中进行测试以进行源代码控制。
Scripted 管道是一种典型的代码编写方法。 Jenkinsfile 是在此管道中的 Jenkins 用户界面实例上编写的。
虽然这两个管道都是基于 Groovy 的,但脚本化管道使用更严格的基于 Groovy 的语法。这是因为它是为使用而创建的第一个 groovy 基础管道。由于这个 Groovy 脚本通常并不适合所有用户,因此它引入了声明式管道以提供更简单、更灵活的 Groovy 语法。声明性管道在“管道”块中定义,而脚本管道在“节点”块中定义。
如何在 Windows 上安装和运行 Jenkins?
是时候学习本 Jenkins 流水线教程的最佳部分并开始整个设置过程了。首先,我们需要安装 Jenkins。 Jenkins 可以安装在 Windows、Unix 或 macOS 系统上。在本 Jenkins 流水线教程中,我们将专注于 Windows 安装。
先决条件:
在您开始在 Windows 系统上下载 Jenkins 之前,Jenkins 需要以下先决条件:
硬件规格:
-
您总共需要 512 MB 的 RAM 才能在您的设备或笔记本电脑上运行 Jenkins。
-
您的硬盘驱动器上至少需要 1 GB 的存储空间。
软件规格:
- 由于 Jenkins 基于 Java,您需要根据系统配置 32 位或 64 位的最新 Java 开发工具包 (JDK) 或 Java 运行时环境 (JRE) 版本。
安装步骤
步骤 1: 满足所有先决条件后,从这个网址下载 Jenkinshttps://jenkins.io/download/
[](https://res.cloudinary.com/practicaldev/image/fetch/s--fHOHah4X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Steps-For-Installation.png)
第 2 步: 打开 Jenkins 下载页面后,系统会提示您选择要下载 Jenkins 的平台。单击 Windows(或基于您的系统的其他选项)。对于本 Jenkins 流水线教程,我们将选择 Windows。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--tgONvTOD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/download-Jenkins.png)
解压缩下载的套件。双击解压后的 jenkins.msi 文件。您还可以使用 .war 文件将 Jenkins 作为 Java 包安装。如果您专注于在非无头模式下使用 Selenium 进行 Jenkins 测试自动化,建议您这样做。
第 3 步: 选择“下一步”按钮继续在您的 Windows 计算机或笔记本电脑上安装 Jenkins。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--O0VoHnJL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/installation-of-Jenkins.png)
第 4 步: 选择要安装 Jenkins 版本的目录(默认设置为 C:\Program Files (x86)\Jenkins),然后按“下一步”选项卡。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--rxx0Z76X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/jrnkins-tutorial.png)
第 5 步: 点击安装。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--wrlbmREp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/Jenkins-tutorial-for-beginers.png)
第 6 步: 完成 Jenkins 设置过程后,您可以继续并开始设置。接下来的步骤应该指导您如何解除对 Jenkins 提交的阻止。 Jenkins 安装阶段完成后,将显示一个窗口选项卡,要求输入管理员的初始密码。
第 7 步: 您必须在 Web 浏览器中进入以下路径才能访问 Jenkins。
本地主机:8080
一旦您可以浏览上面的 URL,它将表明 Jenkins 已正确安装在系统上。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--rE9b0zC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Jenkins-installation-phase.png)
installation-directory >\Jenkins\secrets\ initialAdminPassword
第 9 步: 在 Jenkins 登录页面输入密码后,您现在将被提示为您的个性化项目选择必要的插件。您可以选择“安装建议的插件”以继续使用默认插件列表,或者您可以通过单击“选择要安装的插件”来选择所需的插件。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--kCp2ClNu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Install-suggested-plugin.png)
然后,您将看到一个 Getting Started 页面,它将安装开始使用 Jenkins CI/CD 所需的所有必要插件。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--mfEK-YRS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/getting-started.png)
第 10 步: 下载所有推荐的插件后,将出现“创建第一个管理员用户”选项卡。用您喜欢的帐户信息填写所有框,然后按“保存并继续”选项。
第 11 步: 正确填写此信息后,网页可能会要求您提供 URL 数据。此 URL 用于设置 Jenkins 的默认配置路径。保持原样以防止以后出现任何混淆。尽管如此,如果另一个程序仍在使用 8080 端口,您可以停止该程序使用该端口并腾出 Jenkins 的空间,然后保存设置。
< Jenkins-installation-folder >\Jenkins\jenkins.xml
搜索 httpPort 并将其从 8080 更改为您选择的任何端口号。 Jenkins 默认设置为监听 8080 端口。
系统可能会提示您拥有管理员权限以实施此端口更改。按照这个-
<service>
<id>Jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins automation server.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java version, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%BASE%\jre\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=9090 --webroot="%BASE%\war"</arguments>
完成此操作后,您就完成了 Jenkins 部署。完成此步骤后,Jenkins 帐户将被设置并可以使用。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--t1KiIdA---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest.com /blog/wp-content/uploads/2020/09/image15.png)
第 12 步: Jenkins 已启用,我们几乎完成了。在我们切换到按照这个 Jenkins 管道教程进行构建之前,我们需要自定义 Jenkins 以识别其他资源,如 Java、Maven 等。
单击“Manage Jenkins”。在此之后,选择“Global Tool Configuration”,然后选择“JDK Installation”。在 JDK Name 行中包含 JDK 版本的名称并访问 Java在“ JAVA HOME ”部分中路由。
取消选中“Install Automatically”单选选项,因为如果修改了最新的 Java 版本,Selenium 可能无法提供帮助。保存更改并继续。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--dRN2H2ZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Jenkins-Pipeline-Tutorial.png)
Jenkins 流水线教程概念
我们希望 Jenkins 按照上面 Jenkins 管道教程中提到的步骤在您的 Windows 系统中启动并运行。在继续使用 Selenium 进行 Jenkins 测试自动化之前,是时候熟悉一下这个 Jenkins 管道教程的一些关键概念了。
他们来了-
管道
它是一个用户定义的框架,包括创建、检查、部署等所有过程。在 Jenkinsfile 中,它是所有级别的列表。描述了此块中的所有阶段和步骤。这是声明性管道语法的基本块。
pipeline {
}
节点
节点是运行完整工作流的系统。它是脚本化管道语法的一个组成部分。
node {
}
一些标准部分可用于声明式和脚本式管道。这些是:
代理人
代理被描述为可以仅使用一个 Jenkins 实例运行多个构建的指令。此功能有助于将工作负载分散到各种代理并在 Jenkins 的单个实例中执行多个项目。它指示 Jenkins 将构建分配给执行程序。
可以为整个 Jenkins 管道定义单个代理,或者可以分配不同的代理来执行管道中的每个阶段。一些最常用的代理参数是:
1.任何
在任何可用代理上运行阶段管道。
- 无
此参数被添加到管道的根目录。这意味着整个管道没有全局代理,每个阶段都必须定义自己的代理。
- 标签
在标记的代理上执行管道/阶段。
- 码头工人
此参数使用 docker 容器作为管道执行环境或作为特定级别。例如,docker 可用于拉取 Ubuntu 的映像。此映像现在可用于运行多个命令作为执行环境。
pipeline {
agent {
docker {
image 'ubuntu'
}
}
}
阶段
本节包括所有需要完成的工作。工作以阶段的形式定义。在本指令中,可能有不止一个级别。每个阶段执行一个特定的任务。
pipeline {
agent any
stages {
stage ('Build') {
}
stage ('Test') {
}
stage ('QA') {
}
stage ('Deploy') {
}
stage ('Monitor') {
}
}
}
脚步
在一个阶段块内,流水线可以描述为一系列步骤。为了执行关卡,依次执行这些步骤。在步骤指南中,必须至少有一个步骤。
pipeline {
agent any
stages {
stage ('Build') {
steps {
echo
'Running build phase. '
}
}
}
}
将 Jenkins 管道与 Cloud Selenium Grid 集成
本 Jenkins 流水线教程的重点不仅仅是让您熟悉 Jenkins CI/CD 或流水线本身。是的,我们想帮助您设置 Jenkins 管道,但是您一定想知道整个设置的目的是什么。正如本 Jenkins 流水线教程前面所指出的,Jenkins 流水线在执行 Selenium 测试自动化方面非常有用。为了实现这一点,Jenkins 提供了各种插件,可用于与各种工具和实用程序集成,同时还监控生产力。
要开始使用 Selenium 进行 Jenkins 测试自动化,LambdaTest Jenkins 插件就是这样一个插件,可帮助您加速自动化跨浏览器测试。使用 LambdaTest Jenkins 插件,我们可以通过将 Jenkins CI 实例连接到 LambdaTest Selenium 网格轻松地自动化我们的测试脚本。
LambdaTest Selenium 网格为我们提供了广泛的 2000+ 浏览器和浏览器版本,以实现更高的测试覆盖率,同时使用 Selenium 测试套件进行跨浏览器测试。
Jenkins 与 LambdaTest 的集成将通过以下方式提高您的测试质量和覆盖率:
-
为 LambdaTest 和使用 Jenkins 安排的作业配置凭证。
-
执行设置并拆除二进制 Lambda Tunnel 文件,以便在本地 Web 应用程序上进行自动跨浏览器测试。
-
通过 LambdaTest 在您的 Jenkins 作业的各个阶段执行的每个步骤中提供所有测试数据,例如视频日志、网络日志和屏幕截图。
对于使用 Selenium 的 Jenkins 测试自动化,您需要访问以下内容 -
-
LambdaTest 的帐户。您可以在此处注册。
-
具有 Jenkins CI(版本 2.138.2+)的现有服务器
-
根访问权限的 Jenkins 客户端。
配置LambdaTest Jenkins插件
要继续本 Jenkins 管道教程中最激动人心的部分,我们需要下载 LambdaTest Jenkins 插件,如下所述,以便使用 Jenkins 在 LambdaTest 上运行我们的 Selenium 测试。在继续安装 Jenkins 之前,需要提供对管理员级别的访问权限。
在继续安装LambdaTest Jenkins 插件之前,请确保您在执行或队列中没有活动的构建作业。
第 1 步: 首先,我们点击 Manage Jenkins,然后点击 Manage Plugins。
第 2 步: 然后,我们导航并单击 Available 选项卡。
步骤 3: 在选项卡上的过滤器搜索框中搜索 LambdaTest。
第 4 步: 您将找到一个插件列表,然后选择 LambdaTest。
步骤 5: 安装 LambdaTest Jenkins 插件,我们需要选中 LambdaTest 前面的复选框。
Step 6: 插件安装成功后,您将可以在您安装的插件下找到LambdaTest Jenkins插件。
有时,您新安装的插件无法与您可用的 Jenkins 插件同步。这很常见。如果您无法在可用插件部分下找到 LambdaTest,您可以执行此操作。只需单击 Check Now 按钮即可刷新 Jenkins 插件列表,您将获得来自 Jenkins 更新中心的新插件列表。
LambdaTest Jenkins 插件安装完成后,我们需要通过在 Jenkins CI 服务器中配置 LambdaTest 凭证来将我们的Selenium WebDriver测试与 Jenkins 集成。如果我们想使用 Selenium 推进 Jenkins 测试自动化,甚至执行自动化跨浏览器测试,这一步是必不可少的。
配置 LambdaTest 凭证
要继续此 Jenkins 管道教程配置,我们需要使用 Jenkins UI。我们不必从头开始单独准备脚本来执行 Lambda 测试平台测试。我们可以重用我们的本地测试脚本,只需添加一些小的配置更改,使我们能够连接到云平台。
我们连接到 Lambda 测试平台的最重要和最重要的事情之一就是获取我们的访问密钥令牌。访问密钥令牌是一组私钥,使我们能够连接到云平台并在平台上执行自动化测试。此访问密钥对每个人都是唯一的,不应与其他用户共享。您可以从您的用户帐户的配置文件部分获取并重新生成它,如下所示。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--ruCIGROb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/LT-token.png)
或者,我们也可以从自动化仪表板获取访问密钥、用户名和集线器详细信息。您需要单击“帮助”按钮附近的钥匙形图标,如下图所示。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--1biCVO6L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest. com/blog/wp-content/uploads/2020/09/Automation-dashboard.png)
这可以在脚本中设置如下 -
$ export LT_USERNAME= {your lambdatest username}
$ export LT_ACCESS_KEY= {your lambdatest access_key}
$ set LT_USERNAME= {your lambdatest username}
$ set LT_ACCESS_KEY= {your lambdatest access_key}
完成后,我们需要按照以下步骤在 Jenkins 中对其进行配置-
-
单击 Jenkins 主页上的凭据。
-
在 Credentials 选项卡下选择 System 以显示 System 页面
-
在系统中选择全局域凭据(无限制)以打开全局凭据页面。
-
点击 Add Credentials 打开我们添加访问详细信息的凭证页面。
-
在所有字段中输入您的相关数据,然后单击验证凭据。
-
然后验证后点击Ok按钮。
-
Jenkins 生成出现在 Credential 页面上的 ID,我们保存更改。
成功附加您的凭据后,Jenkins 会创建一个 ID。要获取此 ID 以使用 LambdaTest 凭证,您需要转到 Jenkins 的主页并单击导航屏幕左侧的 Credentials。
在 Jenkins 的主页上,单击左侧菜单中的 Credentials。可以从此 ID 复制 LambdaTest 凭证。
接下来,我们需要使用 LambdaTest Jenkins 插件来启用 LambdaTest Tunnel 对本地托管的网页或 Web 文件执行跨浏览器测试。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--SXvb771x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/cross-browser-testing.png)
创建 Jenkins 管道并运行我们的第一个测试
在本 Jenkins 流水线教程的最后一部分,我们将创建自己的 Jenkins CI/CD 流水线,然后运行我们的第一个测试。下面是管道的示例 Jenkins 文件,其中包含所需的配置详细信息。
#!/usr/bin/env groovy
node {
withEnv(["LT_USERNAME=Your LambdaTest UserName",
"LT_ACCESS_KEY=Your LambdaTest Access Key",
"LT_TUNNEL=true"]){
echo env.LT_USERNAME
echo env.LT_ACCESS_KEY
stage('setup') {
// Get some code from a GitHub repository
try{
git 'https://github.com/LambdaTest/nightwatch-selenium-sample.git'
//Download Tunnel Binary
sh "wget https://s3.amazonaws.com/lambda-tunnel/LT_Linux.zip"
//Required if unzip is not installed
sh 'sudo apt-get install --no-act unzip'
sh 'unzip -o LT_Linux.zip'
//Starting Tunnel Process
sh "./LT -user ${env.LT_USERNAME} -key ${env.LT_ACCESS_KEY} &"
sh "rm -rf LT_Linux.zip"
}
catch (err){
echo err
}
}
stage('build') {
// Installing Dependencies
sh 'npm install'
}
stage('test') {
try{
sh './node_modules/.bin/nightwatch -e chrome,edge tests'
}
catch (err){
echo err
}
}
stage('end') {
echo "Success"
}
}
}
第 1 步: 我们通过导航到 Jenkins 为流水线创建一个 New Project,然后单击 New Item。
第 2 步: 接下来,我们从给定的选项列表中选择 Pipeline。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--dYrHVmNf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest.com /blog/wp-content/uploads/2020/09/Pipeline.png)
第 3 步: 然后,我们将向下滚动到 Advanced Project Options 并将我们在上面看到的管道脚本代码粘贴到代码窗格中,然后点击 Save 按钮。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--zphw1cP1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest .com/blog/wp-content/uploads/2020/09/Advanced-Project-Options.png)
您现在已准备好使用 LambdaTest Jenkins 插件运行您的第一个测试。
第 4 步: 我们需要设置一个测试构建,这可以通过单击 立即构建 通过 Jenkins UI 快速完成。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--VzRG8PdO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.lambdatest。 com/blog/wp-content/uploads/2020/09/Jenkins-UI.png)
第 5 步: 当我们点击 Build Now 时,我们可以在构建历史记录下看到一个新的构建生成。可以通过单击构建来查看控制台日志输出。
单击左侧的 LambdaTest 图标 将提供有关 Selenium 测试的更多详细信息。这也将提供对使用 Selenium 的 Jenkins 测试自动化的更多洞察,例如加载页面上的测试会话、视频日志等。
[](https://res.cloudinary.com/practicaldev/image/fetch/s--4srhO1-B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www .lambdatest.com/blog/wp-content/uploads/2020/09/Jenkins-test-automation.png)
结论
定义明确的 Jenkins 流水线有助于缩短生产时间并提高应用程序的质量。它为您现有的构建过程、提交、自动化测试和部署提供了明确的结构。
我希望这个 Jenkins 管道教程对您有所帮助,并且您能够成功地创建您的第一个 Jenkins 管道并使用在线 Selenium 网格(如 LambdaTest)进行自动化测试。 快乐测试!