管理詹金斯
在前一章中, 我们介绍了开始使用 Jenkins 的几个基本步骤。从这些知识中, 我们能够熟悉仪表板, 设置具有安全和有限访问权限的用户帐户, 并让我们的服务器在 Docker 上本地运行。我们几乎已经准备好做一些建设魔术。
我们可以自信地识别詹金斯的角色, 不仅在持续的交付管道中, 而且在软件开发生命周期中。这是一个很大的优势, 使我们能够考虑更多的方法来自动化工作流, 使开发更容易和更有趣。
本章将介绍有关插件和生产准备情况的知识, 因为我们在管道的基础上构建, 以及流程如何实现交付。我们还将演示詹金斯是如何为执行这一进程而设立的。
到本章结束时, 您将能够:
- 解释詹金斯插件管理的需求
- 实现各种插件类型, 以增强 Jenkins 功能
- 为类似生产的服务器实现必要的工具和实践
- 在需要时将 Jenkins 升级到稳定的版本
插件管理
首先, 让我们花几分钟的时间来评估一下我们想要实现的目标。在上一章中, 我们稍微看了一下持续集成 (CI)。为了快速回顾这一点, CI 是在共享存储库上不断合并代码的过程, 然后进行自动测试和生成。我们还将该过程确定为任何连续交付或部署管道中的第一阶段。
当我们在持续交付管道的基础上构建时, 我们将从一个简单的 CI 构建开始。这基本上是为了帮助我们习惯这个过程。此外, 还将涵盖一些非常关键的原则和指南, 使我们能够动态地了解 CI 管道和构建。这些知识也适用于其他工具和流程。
下面是我们想要实现的目标的快速浏览:
工作流主要涉及以下内容:
- 当代码被推送到 GitHub 时, 无论多么小, 我们都可以从 Jenkins 中提取代码库, 运行测试, 如果测试通过, 如果提出了拉请求, 则可以合并更改。如果他们失败了, 詹金斯将通过已定义的通知渠道通知我们。为了实现这一目标, 我们通常需要一些工具和服务。
- 使用 Git, 这是一个工具, 可以帮助版本代码协作。如果您正在运行 Git Bash, 请运行以下命令以确认 Git 按预期方式运行:
我们还需要詹金斯插件。插件是使我们能够利用服务 (包括第三方应用程序) 并在 Jenkins 上实现更多操作的资源。我们将在下一节中确定并演示不同类型的插件。
首先, 让我们为詹金斯做好准备, 并在稍后阶段再回到这个问题上来。
插件管理是一项技能和要求, 对于任何愿意释放詹金斯全部潜力的人来说, 这是至关重要的。就其本身而言, Jenkins 服务器并不总是符合每个人的要求。事实上, 随着所有的新工具几乎每周发布, 詹金斯可能是最后一个 CI cd 服务器, 你会想到。
有了插件, Jenkins 能够变得足智多谋和高效, 仍然给任何人一个机会, 以添加自定义插件, 以满足任何项目的要求。插件可以实现很多关于人们想要设置的内容, 例如:
- 是否要在每次生成后发送通知?这里面有一个插件。
- 大多数 (如果不是所有的话) 编程语言都有用于构建和运行的支持插件。
我们最近在詹金斯身上经历了一些行政工具和程序。虽然我们还在讨论这个问题, 但您可能已经注意到您的 Jenkins 服务器上的一些第三方集成, 例如:
在 "通过管理 Jenkins 配置系统" 下, 您将注意到以下情况:
还有一些列出的不在前面的屏幕截图中, 您可能已经注意到, 当我们安装服务器时, 有一个选项来设置这些插件。
在大多数情况下, 在使用 Jenkins 时, 您需要运行默认情况下在 Jenkins 上不容易获得的操作。那你会怎么做?
插件可以以多种可扩展的方式修改詹金斯。默认情况下, Jenkins 的功能有限, 可能不支持几乎每周发布的很多工具, 但有了一个非常活跃的社区, 我们能够通过插件获得支持。在我们确定不同类型的可用插件和我们的管道所需的插件之前, 让我们先来看看使用插件的几个原则。请记住, 只设置您需要的内容。
插件使用原理
Jenkins 环境中的插件用于改进功能和满足用户要求。以下是需要记住的几个关键点:
始终阅读插件的文档和指南, 了解它是否达到了您的预期目标。
- 安装前, 请检查使用情况统计信息并更新频率。
- 它将与您的 Jenkins 服务器版本一起工作?
- 了解它的工作原理将对工具提供的帮助有很大的影响, 使您能够最大限度地发挥潜力。
让我们通过和识别一些插件类型, 因为我们准备执行我们的 Jenkins 服务器。
管理插件
这些插件是相关的, 但不限于以下内容:
管理插件将帮助自定义访问控制和主机的整体管理。
- 服务身份验证: 引入访问主机及其服务的新方法, 例如 LDAP。
- 审计线索和一般安全: 跟踪谁做了什么;限制对服务和各种操作的访问
- 节点和与作业相关的管理: 允许各种与节点相关的操作, 包括支持多个操作系统要求。
用户界面 (UI) 插件
帮助自定义 Jenkins UI 的 UI 插件可能会提供以下功能:
- 自定义视图选项卡、菜单和下拉列表
- 设置文本格式, 甚至图像
- 电子邮件模板
源代码管理 (SCM) 插件
SCM 插件是帮助集成版本控制服务的功能。它们提供了以下方面:
- 允许 Jenkins 运行版本控制系统, 如 Git、Mercurial 和 SCM。
- 允许 Jenkins 从版本控制主机 (如 GitHub、Bitperl、GitHub 等) 中提取代码。
- 对 Jenkins 进行身份验证, 以便从私有和公共版本控制主机中提取。
我们在这里列出的点并不是插件类型的全部潜力。可能性是无限的。
构建管理插件
生成管理是任何生成步骤中都涉及的插件。这里需要考虑的一点是, 如果你需要做一个在詹金斯上不容易获得的功能或过程, 一定要检查插件索引。请考虑以下事项:
- 允许 Jenkins 触发生成失败或传递的通知
- 管理生成项目
- 触发部署或其他自定义生成步骤
现在, 让我们回到我们的服务器, 并通过如何使用插件。