`

转 - 二 Jenkins学习笔记 - - Jenkins 安装

 
阅读更多

Jenkins 的安装非常简单,只需要从 Jenkins 的主页上(http://jenkins-ci.org/)下载最新的 jenkins.war 文件然后运行 java -jar jenkins.war。同时,还可以点击 Jenkins 页面上的 launch 按钮完成下载和运行 Jenkins。

图 1. Jenkins Launch 按钮

图 1. Jenkins Launch 按钮

启动 Jenkins 后,会有一个后台进程在命令行模式下运行。此时在浏览器地址栏中打开 http://localhost:8080 就可以看到 Jenkins 的页面了。Jenkins 的可贵之处在于具有非常高的可用性,从它的界面中能很轻松地完成各种配置,更多的配置和使用信息,可以在 Jenkins 的官方网站上查询。

图 2. 命令行模式下运行 Jenkins

图 2. 命令行模式下运行 Jenkins

图 3. Jenkins 主界面

图 3. Jenkins 主界面

非常有趣的是,Jenkins 还提供了非常丰富的插件支持,这使得 Jenkins 变得越来越强大。我们可以方便的安装各种第三方插件,从而方便快捷的集成第三方的应用。比如 Jenkins 提供了对于 IBM Rational ClearCase 的插件支持。

图 4. Jenkins 可以集成 ClearCase 插件

图 4. Jenkins 可以集成 ClearCase 插件

此外,Jenkins 提供了丰富的管理和配置的功能,包括系统配置、管理插件、查看系统信息、系统日志、节点管理、Jenkins 命令行窗口、信息统计等功能。试试看,您就会发现 Jenkins 非常好上手使用。

图 5. Jenkins 提供了丰富的管理功能

图 5. Jenkins 提供了丰富的管理功能

 

基于 Jenkins 快速搭建持续集成环境

正如前文中所描述的那样,一个持续集成环境需要包括三个方面要素:代码存储库、构建过程和持续集成服务器。对 Jenkins 有了初步了解后,我们通过一个实例来集中展示如何快速搭建一个简单的基于 Jenkins 的持续集成环境。

假设我们使用的代码存储库是 IBM Rational ClearCase。Jenkins 提供了对 ClearCase 的插件支持,它能方便地让我们连接到 Base ClearCase 或者 UCM ClearCase,使其成为 Jenkins Project 的代码控制器。另外,这个插件是基于 cleartool 命令的,所以必须在 Jenkins 的持续集成服务器上安装 ClearCase 的客户端程序。

在 Jenkins 的插件管理界面中选择 ClearCase Plugin,点击页面下方的 Install 按钮。

图 6. 选择 ClearCase 插件

图 6. 选择 ClearCase 插件

在打开的页面中提示安装完成后,Jenkins 需要重新启动来激活这个插件。重新执行 java -jar Jenkins.war 后,在 Jenkins 的页面中,我们就能看到 ClearCase plugin 已经被安装到 Jenkins 了。

图 7. ClearCase 插件安装成功

图 7. ClearCase 插件安装成功

类似 IBM Rational ClearCase,SVN(subversion)是目前比较流行的版本管理工具。很多开源软件都是用 SVN 作为代码版本管理软件。为了让实例更具有代表性,本文中我们使用 SVN 作为代码存储器。

接下来,我们开始新建一个 Jenkins 项目, 由于我们需要连接 SVN 的代码存储器, 我们选择 Build a free-style software project。

图 8. 新建 JenkinsTest Job

图 8. 新建 JenkinsTest Job

然后我们就可以很方便的配置这个 JenkinsTest 项目了。Jenkins 很人性化的一点是在每个配置项的右侧都有一个帮助的图标,点击这个图标,Jenkins 会告诉您如何配置这个配置项。

图 9. 配置 JenkinsTest

图 9. 配置 JenkinsTest

根据实际的 SVN 服务器服务器信息配置 Source Code Management,这能让 Jenkins 知道如何从哪里获取最新的代码。本例中假设 Repository 就在本地。

图 10. 配置连接到 SVN 服务器

图 10. 配置连接到 SVN 服务器

根据开发需要,假设每一个小时我们需要重新构建一次。选择 Build periodically,在 Schedule 中填写 0 * * * *。

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

所以 0 * * * * 表示的就是每个小时的第 0 分钟执行一次构建。

图 11. 选择如何触发构建

图 11. 选择如何触发构建

接下来就是要添加 build 的步骤了。Jenkins 提供了四个选项供我们选择,可以根据需要执行或调用外部命令和脚本。

图 12. 四种 build step 供选择

图 12. 四种 build step 供选择

在本例中,我们通过调用和执行 Windows batch command,将 SVN repository 中 Java 代码编译并生成 Jar 文件。也可以根据项目的实际编写自己的 shell 脚本配置在这里。

图 13. 配置 Execute Windows batch command

图 13. 配置 Execute Windows batch command

选择和配置其他的选项,比如邮件提醒,然后点击 save 保存。

图 14. 配置邮件提醒

图 14. 配置邮件提醒

接下来的每小时的第 0 分钟,JenkinsTest Job 就会被构建。我们可以在 Jenkins 中观察构建的进度和最终的状态——成功或者失败。太阳代表之前的构建没有任何失败,蓝色的小球代表构建成功。

图 15. JenkinsTest 开始构建

图 15. JenkinsTest 开始构建

同时我们可以点击 JenkinsTest 查看单次构建的 Console 的输出结果。从中我们能看到构建的第一步是从 SVN 服务器上 check out 代码,然后调用我们先前配置的 Windows batch command。

图 16. JenkinsTest 构建的 console 输出

图 16. JenkinsTest 构建的 console 输出

最后,我们可以看到 build 的最后结果 Success,表明本次构建成功。

图 17. 构建成功的 Console 输出

图 17. 构建成功的 Console 输出

接下来我们再次新建一个 Jenkins 的 Job,用于将生成的 build 分发到不同的节点上。这次 build triggers 我们选择 Build after other projects are built,让这个 Job 在 JenkinsTest 成功 build 后触发。这样一来就能达到我们自动 build 和自动分发的功能。

图 18. 新建 Distribute job

图 18. 新建 Distribute job

不同的是,这次我们选择调用 Ant 脚本来完成分发的工作。只需要将 Ant 脚本的 XML 的文件配置在 Targets 中供 Jenkins 调用。

图 19. Distribute 调用外部 Ant 脚本

图 19. Distribute 调用外部 Ant 脚本

然后我们就可以在 Jenkins 中观察构建的状态了。一旦构建失败我们能看到相应的警示图标,同时,如果配置了邮件提醒,相关人员也会受到邮件。记住我们先前所提醒的那样,分析和处理构建的失败是优先级最高的工作。接下来,我们还可以加入更多的 Jenkins 项目来实现自动化测试等功能,让持续集成更方便有效地服务于项目开发。

图 20. 查看持续集成状态

图 20. 查看持续集成状态

结束语

本文简单介绍了持续集成的概念并着重介绍了如何基于 Jenkins 快速构建持续集成环境。通过具体实例的描述,相信读者对 Jenkins 的基本功能和实现方法有个更清楚地认识和理解。其实,Jenkins 的功能远不至文中所述的这些,Jenkins 还有详尽的日志处理和持续集成构建状态的分析等功能。希望在进一步的学习和应用中与大家分享。

分享到:
评论

相关推荐

    jenkins安装文件及教程

    1. **RPM安装**:描述中提到的`jenkins-1.658-1.1.noarch.rpm`是一个基于RPM的Jenkins安装包,适用于Linux系统。安装步骤通常包括: - 添加Jenkins仓库到系统:`sudo vi /etc/yum.repos.d/jenkins.repo`,然后输入...

    jenkins-study:Jenkins学习笔记

    Jenkins配置笔记 服务器安装 Debian/Ubuntu 主页上有各种安装包下载,我们安装在Debian的服务器上,参考 This is the Debian package repository of Jenkins to automate installation and upgrade. To use this ...

    jenkins学习笔记markdown格式

    本人运维工程师,因工作需要,编写了一个jenkins的技术文档,markdown格式可以使用typora工具进行编辑,主要是介绍的了初时jenkins服务,jenkins的部署,和jenkins管理gitlab代码仓库,和实现为开发人员自动构建上传...

    Jenkins学习笔记

    1.4 安装Jenkins系统要求 4 第 2 章 安装Jenkins 5 2.1 下载Jenkins 5 2.2 开始Jenkins 5 2.3 连接Jenkins 6 第 3章 Jenkins – Tomcat Setup 7 第4章 Jenkins – Git Setup 9 第 5章 Jenkins – Maven Setup 12 第6...

    Jenkins 持续集成学习笔记.pdf

    【Jenkins 持续集成学习笔记】 Jenkins 是一款广泛应用的开源持续集成工具,它支持自动化的构建、测试和部署流程,以提高软件开发效率和质量。在现代软件开发中,持续集成(CI)是敏捷开发的重要实践之一,它强调...

    jenkins-2.157-1.1.noarch.rpm

    linux系统下的rpm安装包,在安装包目录下使用root用户运行rpm -ih jenkins-2.157-1.1.noarch.rpm安装程序

    jenkins课件笔记

    **Jenkins 知识点详解** Jenkins 是一个开源的持续集成(CI)服务器,用于自动化各种软件开发过程,如构建、测试和部署。...黑马-jenkins 课程可能涵盖了这些知识点的深入讲解和实战操作,是学习 Jenkins 的良好资源。

    【Jenkins学习笔记】玩转持续集成与持续交付

    【Jenkins学习笔记】玩转持续集成与持续交付 Jenkins是开源软件项目中的一个重要工具,专注于持续集成和持续交付。作为一个基于Java开发的可拓展平台,它的主要功能包括自动构建、测试和集成软件项目,同时监控定时...

    C#-学习笔记

    在深入探讨"C#高级编程"的学习笔记之前,我们先来理解一下C#这门语言的基础。C#(读作"C sharp")是由微软公司开发的一种面向对象的编程语言,主要用于构建Windows应用程序、Web应用以及移动应用。它在.NET框架或...

    基于kubernetes+docker+jenkins的DevOps实践

    之前自己的项目开发就搭了个cicd的环境,那时候是在本就...jenkins+dockerregistry+docker 见之前的笔记 总的差不多这样:之后对kubernetes的接触后,就在之前的基础上加入kubernetes,其实也就是在服务器拉取镜像docker

    SpringBoot3 全栈指南教程-尚硅谷学习笔记 2023年

    这份尚硅谷的学习笔记涵盖了Spring Boot 3的各个方面,无论你是初学者还是有经验的开发者,都能从中受益。通过阅读`.md`和`.pdf`文件,你可以逐步学习并掌握这些知识点,从而提升自己的技能水平。

    k8s1.16的jenkins部署java项目cicd(cd手动)-kubernetes安装包和详细文档笔记整理

    在这个教程中,你将学习如何在Kubernetes集群上部署Jenkins服务器,并配置其工作节点,确保能够执行Java项目的构建任务。 在实现CD(持续部署)的过程中,手动触发是常见的一种方式,尤其是在生产环境,以确保每次...

    jenkins-the-definitive-guide:詹金斯读书笔记

    通过本书你可以:学习如何安装,配置和使你的Jenkins服务器更加安全;组织和监视general-purpose构建作业;集成自动化测试来验证构建是否正确,构建代码质量报告;建立有效的团队通知策略和其中所用到的技术;配置...

    certified-jenkins-engineer-study-guide:我准备参加认证的詹金斯工程师考试时所记的笔记

    詹金斯(Jenkins)是广泛应用的持续集成和持续部署工具,它允许开发人员自动执行构建、测试和部署过程,从而提高软件开发的效率和质量。为了成为一名认证的詹金斯工程师,理解其核心概念、功能和最佳实践至关重要。...

    Eclipse 开发学习笔记.pdf

    **Eclipse 开发学习笔记** Eclipse是一款强大的集成开发环境(IDE),主要用于Java应用程序的开发,但通过插件也可以支持其他编程语言,如C++, Python等。这份《Eclipse开发学习笔记》是针对想要深入理解和掌握...

    java版商城源码下载-Study-Notes:学习笔记

    2020年Java基础教程(全资料+笔记+源码): 2020年javaweb全套教程: Mysql: Oracle: JDBC: C3P0: 前端技术 HTML、CSS、Javascript: jQuery-: Ajax: Vue: 微信小程序: 动态网页: 编程强化 JVM优化: 数据...

    基于python的系统设-paper-ma笔记

    Python社区广泛采用Jenkins、GitLab CI/CD和Travis CI等工具实现自动化测试、构建和部署,确保代码质量并加快交付速度。 综上所述,“基于python的系统设计与实现”涵盖了从基础编程到高级应用的多个方面,Python的...

Global site tag (gtag.js) - Google Analytics