Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将特定于作业的文件作为作业配置的一部分传递给Jenkins?_Jenkins_Hudson_Jenkins Plugins - Fatal编程技术网

如何将特定于作业的文件作为作业配置的一部分传递给Jenkins?

如何将特定于作业的文件作为作业配置的一部分传递给Jenkins?,jenkins,hudson,jenkins-plugins,Jenkins,Hudson,Jenkins Plugins,我有一份jenkins的工作,从GitHub public repo获取源代码。在运行构建之前,我需要传递一些文件,例如包含作业机密的特定于实例的配置文件,并与源代码合并,因为这些文件显然不适合放在公共SCM中。Jenkins实例是一个多租户共享服务 配置文件不经常更改,所以我不想使用file参数实现,因为该参数会强制用户在每次运行时手动输入文件。文件参数不起作用的另一个原因是一些构建是由SCM自动触发的 我也不想使用,因为插件需要jenkins admin访问权限,但我希望具有作业级别权限的用

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

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

我也不想使用,因为插件需要jenkins admin访问权限,但我希望具有作业级别权限的用户自己管理文件

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


有什么解决方案吗?谢谢。

如果“特殊”文件被放置在一个具有访问权限的文件夹中,您是否可以运行一个命令来使用shell命令移动文件,或者引入一个常规的构建步骤(即在SCM文件之后和其他构建步骤之前),该步骤也将使用shell命令移动文件?

如果“特殊”命令文件被放在一个文件夹中,比如说有访问权限,你不能运行一个命令行来使用shell命令移动文件,或者引入一个常规的构建步骤(即,在SCM完成之后和其他构建步骤之前),该步骤也将使用shell命令来移动文件?

假设Jenkins是作为多租户服务提供的,首先,非jenkins管理员用户如何上传文件并确定其工作范围?我可能误解了这里的问题,但我认为您可能拥有某种资源,例如映射网络驱动器,人们可以访问/更改/任何这些文件。如果Jenkins能够解析相同的资源,那么就很容易对这些文件执行任何您想要的操作。正如问题的标题所述,挑战在于如何传递具有正确范围的文件。您的回答假设文件已经就位。网络驱动方法有点太落后,很难维护,尤其是对于动态生成的作业。假设Jenkins是作为多租户服务提供的,那么非Jenkins管理员用户如何首先上传文件并将其范围限定到作业?我可能误解了这个问题,但我认为你可以拥有某种资源,比如一个映射的网络驱动器,人们可以访问/更改/任何这些文件。如果Jenkins能够解析相同的资源,那么就很容易对这些文件执行任何您想要的操作。正如问题的标题所述,挑战在于如何传递具有正确范围的文件。您的回答假设文件已经就位。网络驱动方法过于落后,难以维护,尤其是对于动态生成的作业。