gpt4 book ai didi

jenkins - 创建可重用的 Jenkins 管道脚本

转载 作者:行者123 更新时间:2023-12-02 08:39:52 25 4
gpt4 key购买 nike

我最近正在考虑使用 Jenkins 管道脚本,一个问题是我没有找到一种智能的方法来创建内部可重用的实用程序代码,想象一下,我有一个通用函数 helloworld ,它将被很多管道作业使用,因此我希望创建一个 utils.jar 可以将其注入(inject)到作业类路径中。

我注意到 Jenkins 与 global library 有类似的概念。 ,但我对此插件的担忧:

由于它是一个插件,所以我们需要通过jenkins插件管理器安装/升级它,然后可能需要重新启动才能应用更改,这不是我想看到的,因为utils可能会更改,总是添加,我们希望它可以立即可用。

其次,它是官方的 jenkins 共享库,我不想(或者他们不会应用我们)将私有(private)代码放入 jenkins 存储库中。

有什么好主意吗?

最佳答案

Shared Libraries ( docs ) 允许您使所有管道脚本都可以访问您的代码。您不必为此构建插件,也不必重新启动 Jenkins。

例如这是my librarythis a Jenkinsfile调用这个公共(public)函数。

<小时/>

编辑(2017 年 2 月): 该库可以通过 Jenkins 的内部 Git 服务器访问,或通过其他方式(例如通过 Chef)部署到 jenkins 用户的 workflow-lib/ 目录中主目录。 (仍然可以,但非常不方便)。

全局库可以通过以下方式配置:

  • Jenkinsfile 中的 @Library('github.com/...') 注释指向共享库存储库的 URL。
  • 在 Jenkins 作业的文件夹级别进行配置。
  • 在 Jenkins 配置中配置为全局库,优点是代码可信,即不受脚本安全性的影响。

第一个和最后一个方法的混合将是一个未显式加载的共享库,然后仅使用其在 Jenkinsfile 中的名称来请求:@Library('mysharedlib').

关于jenkins - 创建可重用的 Jenkins 管道脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38695237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com