【问题标题】:How to pass job-specific files to Jenkins as part of job configuration?作为作业配置的一部分,如何将特定于作业的文件传递给 Jenkins?
【发布时间】:2016-02-09 20:54:12
【问题描述】:

我有一份 jenkins 工作,从 GitHub 公共存储库中提取源代码。我需要将一些文件(例如包含机密的实例特定配置文件)传递给作业,并在运行构建之前与源代码合并,因为这些文件显然不适合放在公共 SCM 中。 Jenkins 实例是一个多租户共享服务。

配置文件不会经常更改,所以我不想使用文件参数来强制用户在每次运行时手动输入文件。文件参数不起作用的另一个原因是某些构建是由 SCM 自动触发的。

我也不想使用 Config File Provider Plugin,因为该插件需要 jenkins 管理员访问权限,但我希望具有工作级别权限的用户自己管理文件。

理想情况下,上传的文件与作业 config.xml 一起保存,而不是在工作区中,因为我想在每次构建后删除工作区。我可以编写脚本将文件从作业配置文件夹复制到工作区。

有没有可用的解决方案?谢谢。

【问题讨论】:

    标签: jenkins hudson jenkins-plugins


    【解决方案1】:

    如果“特殊”文件被放置在具有某些访问权限的文件夹中,您不能运行 Pre-SCM-Buildstep 以使用 shell 命令移动文件,或者引入常规构建步骤(即在SCM 的东西和其他构建步骤之前)也将使用 shell 命令来移动文件?

    【讨论】:

    • 假设 Jenkins 作为多租户服务提供,非 jenkins-admin 用户首先如何上传文件并将其范围限定为作业?
    • 我可能误解了这里的问题,但我认为您可以拥有某种资源,例如映射的网络驱动器,人们可以访问/更改/任何这些文件。如果 Jenkins 能够解析相同的资源,那么对这些文件做任何你想做的事情都会很容易。
    • 正如问题的标题所说,挑战是如何传递具有正确范围的文件。您的回答假设文件已经就位。网络驱动方法有点过于落后且难以维护,尤其是对于动态生成的作业。
    猜你喜欢
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    相关资源
    最近更新 更多