我有一个 SoD(职责分离)检查,这是我们的一些 Jenkins 管道中的第一阶段,所以想知道是否有任何方法可以从外部资源(即文件、库等)加载阶段?这将使我能够保持代码更加清晰,并且如果/当该阶段需要修改时,那么它可以在一个地方完成。
我读到过有关能够配置外部库的信息,它可以从单独的存储库中读取内容,但这似乎是一个巨大的矫枉过正,因为它实际上只有一个文件。
请问有什么简单的方法吗?
如果拓扑确实像您所说的“n”个
Jenkinsfile
一样简单,并且对于一个或多个阶段都非常相似,那么您可以使用加载步骤方法来加载 Groovy 文件并调用您的阶段从该源文件。然而,在这种情况下,仅使用一个具有健壮代码的 Jenkinsfile 可能具有相同的成本/收益。如果您的实现变得更大、更复杂,那么您几乎肯定会希望使用共享库方法,因为它可以更好地扩展并更好地处理复杂性。