Jenkins:为你的流水线设置共享库
Posted: Mon Mar 24, 2025 4:17 am
当您使用具有多个团队/用户的系统时,总是需要在共享代码库和根据特定需求覆盖某些部分的能力之间进行权衡。
与多个用户或团队一起使用 Jenkins 和现代脚本或声明式管道也不例外,因为总会存在与常态略有不同的边缘情况。它可能由于任何原因而有所不同,即使只是某个人或某个团队的固执。
请注意,这不适用于更传统的 Freestyle 作业,因为它们不依赖代码来运行,而是在 Jenkins Master 上的 XML 文件中定义。
这篇文章是我系列文章的一部分,我在其中详细阐述了大规 Coinbase 数据 模运行 Jenkins 的最佳实践,这可能会使敏捷团队和 CI/CD 工作受益。
因此,我们对 Jenkins 的设置至少有两个标准:
为声明式或脚本式管道提供共享的代码库
能够根据需要覆盖行为
Jenkins 为此目的创建了一个功能:共享库。
它使您能够为管道创建可重复使用的组件集合,但您必须遵守已设置的规则。
创建你的共享库
首先,共享库位于您的 VCS 中的存储库中。这可以是任何类型的 VCS,只要 Jenkins 知道如何获取内容。我现在假设使用git 。
您的 git 存储库应位于您的 SCM 服务器上,并可供 Jenkins 访问。这可能是您组织的 GitLab 实例、公开或私下共享的 Github.com 存储库,甚至是您自己的vanilla git 主机。
与多个用户或团队一起使用 Jenkins 和现代脚本或声明式管道也不例外,因为总会存在与常态略有不同的边缘情况。它可能由于任何原因而有所不同,即使只是某个人或某个团队的固执。
请注意,这不适用于更传统的 Freestyle 作业,因为它们不依赖代码来运行,而是在 Jenkins Master 上的 XML 文件中定义。
这篇文章是我系列文章的一部分,我在其中详细阐述了大规 Coinbase 数据 模运行 Jenkins 的最佳实践,这可能会使敏捷团队和 CI/CD 工作受益。
因此,我们对 Jenkins 的设置至少有两个标准:
为声明式或脚本式管道提供共享的代码库
能够根据需要覆盖行为
Jenkins 为此目的创建了一个功能:共享库。
它使您能够为管道创建可重复使用的组件集合,但您必须遵守已设置的规则。
创建你的共享库
首先,共享库位于您的 VCS 中的存储库中。这可以是任何类型的 VCS,只要 Jenkins 知道如何获取内容。我现在假设使用git 。
您的 git 存储库应位于您的 SCM 服务器上,并可供 Jenkins 访问。这可能是您组织的 GitLab 实例、公开或私下共享的 Github.com 存储库,甚至是您自己的vanilla git 主机。