管理詹金斯

在前一章中, 我们介绍了开始使用 Jenkins 的几个基本步骤。从这些知识中, 我们能够熟悉仪表板, 设置具有安全和有限访问权限的用户帐户, 并让我们的服务器在 Docker 上本地运行。我们几乎已经准备好做一些建设魔术。

我们可以自信地识别詹金斯的角色, 不仅在持续的交付管道中, 而且在软件开发生命周期中。这是一个很大的优势, 使我们能够考虑更多的方法来自动化工作流, 使开发更容易和更有趣。

本章将介绍有关插件和生产准备情况的知识, 因为我们在管道的基础上构建, 以及流程如何实现交付。我们还将演示詹金斯是如何为执行这一进程而设立的。

到本章结束时, 您将能够:

  • 解释詹金斯插件管理的需求
  • 实现各种插件类型, 以增强 Jenkins 功能
  • 为类似生产的服务器实现必要的工具和实践
  • 在需要时将 Jenkins 升级到稳定的版本

插件管理

首先, 让我们花几分钟的时间来评估一下我们想要实现的目标。在上一章中, 我们稍微看了一下持续集成 (CI)。为了快速回顾这一点, CI 是在共享存储库上不断合并代码的过程, 然后进行自动测试和生成。我们还将该过程确定为任何连续交付或部署管道中的第一阶段。

当我们在持续交付管道的基础上构建时, 我们将从一个简单的 CI 构建开始。这基本上是为了帮助我们习惯这个过程。此外, 还将涵盖一些非常关键的原则和指南, 使我们能够动态地了解 CI 管道和构建。这些知识也适用于其他工具和流程。

下面是我们想要实现的目标的快速浏览:




jenkins里Workspace Cleanup插件External Deletion Command_jenkins插件管理提示


工作流主要涉及以下内容:

  • 当代码被推送到 GitHub 时, 无论多么小, 我们都可以从 Jenkins 中提取代码库, 运行测试, 如果测试通过, 如果提出了拉请求, 则可以合并更改。如果他们失败了, 詹金斯将通过已定义的通知渠道通知我们。为了实现这一目标, 我们通常需要一些工具和服务。
  • 使用 Git, 这是一个工具, 可以帮助版本代码协作。如果您正在运行 Git Bash, 请运行以下命令以确认 Git 按预期方式运行:


jenkins里Workspace Cleanup插件External Deletion Command_UI_02


我们还需要詹金斯插件。插件是使我们能够利用服务 (包括第三方应用程序) 并在 Jenkins 上实现更多操作的资源。我们将在下一节中确定并演示不同类型的插件。

首先, 让我们为詹金斯做好准备, 并在稍后阶段再回到这个问题上来。

插件管理是一项技能和要求, 对于任何愿意释放詹金斯全部潜力的人来说, 这是至关重要的。就其本身而言, Jenkins 服务器并不总是符合每个人的要求。事实上, 随着所有的新工具几乎每周发布, 詹金斯可能是最后一个 CI cd 服务器, 你会想到。

有了插件, Jenkins 能够变得足智多谋和高效, 仍然给任何人一个机会, 以添加自定义插件, 以满足任何项目的要求。插件可以实现很多关于人们想要设置的内容, 例如:

  • 是否要在每次生成后发送通知?这里面有一个插件。
  • 大多数 (如果不是所有的话) 编程语言都有用于构建和运行的支持插件。

我们最近在詹金斯身上经历了一些行政工具和程序。虽然我们还在讨论这个问题, 但您可能已经注意到您的 Jenkins 服务器上的一些第三方集成, 例如:

在 "通过管理 Jenkins 配置系统" 下, 您将注意到以下情况:


jenkins里Workspace Cleanup插件External Deletion Command_UI_03


还有一些列出的不在前面的屏幕截图中, 您可能已经注意到, 当我们安装服务器时, 有一个选项来设置这些插件。

在大多数情况下, 在使用 Jenkins 时, 您需要运行默认情况下在 Jenkins 上不容易获得的操作。那你会怎么做?

插件可以以多种可扩展的方式修改詹金斯。默认情况下, Jenkins 的功能有限, 可能不支持几乎每周发布的很多工具, 但有了一个非常活跃的社区, 我们能够通过插件获得支持。在我们确定不同类型的可用插件和我们的管道所需的插件之前, 让我们先来看看使用插件的几个原则。请记住, 只设置您需要的内容。

插件使用原理

Jenkins 环境中的插件用于改进功能和满足用户要求。以下是需要记住的几个关键点:

始终阅读插件的文档和指南, 了解它是否达到了您的预期目标。

  • 安装前, 请检查使用情况统计信息并更新频率。
  • 它将与您的 Jenkins 服务器版本一起工作?
  • 了解它的工作原理将对工具提供的帮助有很大的影响, 使您能够最大限度地发挥潜力。

让我们通过和识别一些插件类型, 因为我们准备执行我们的 Jenkins 服务器。

管理插件

这些插件是相关的, 但不限于以下内容:

管理插件将帮助自定义访问控制和主机的整体管理。

  • 服务身份验证: 引入访问主机及其服务的新方法, 例如 LDAP。
  • 审计线索和一般安全: 跟踪谁做了什么;限制对服务和各种操作的访问
  • 节点和与作业相关的管理: 允许各种与节点相关的操作, 包括支持多个操作系统要求。

用户界面 (UI) 插件

帮助自定义 Jenkins UI 的 UI 插件可能会提供以下功能:

  • 自定义视图选项卡、菜单和下拉列表
  • 设置文本格式, 甚至图像
  • 电子邮件模板

源代码管理 (SCM) 插件

SCM 插件是帮助集成版本控制服务的功能。它们提供了以下方面:

  • 允许 Jenkins 运行版本控制系统, 如 Git、Mercurial 和 SCM。
  • 允许 Jenkins 从版本控制主机 (如 GitHub、Bitperl、GitHub 等) 中提取代码。
  • 对 Jenkins 进行身份验证, 以便从私有和公共版本控制主机中提取。

我们在这里列出的点并不是插件类型的全部潜力。可能性是无限的。

构建管理插件

生成管理是任何生成步骤中都涉及的插件。这里需要考虑的一点是, 如果你需要做一个在詹金斯上不容易获得的功能或过程, 一定要检查插件索引。请考虑以下事项:

  • 允许 Jenkins 触发生成失败或传递的通知
  • 管理生成项目
  • 触发部署或其他自定义生成步骤

现在, 让我们回到我们的服务器, 并通过如何使用插件。