copy-reference-file在find中找到了什么... -exec bash -c"。詹金斯支持; copy_reference_file' {}'" \;做?

时间:2016-09-15 21:17:12

标签: bash shell jenkins

有人可以解释以下命令的作用吗?

find /usr/share/jenkins/ref/ -type f -exec bash -c ". /usr/local/bin/jenkins-support; copy_reference_file '{}'" \;

在上面的例子中,copy_reference_file会引用什么?

1 个答案:

答案 0 :(得分:2)

这个递归查找确实:

  • /usr/share/jenkins/ref/及其所有子目录开始:
  • 找到每个常规文件(即不是符号链接,目录,设备等的文件):
  • 获取文件/usr/local/bin/jenkins-support后(设置环境变量或以其他方式修改执行环境):
  • 针对您找到的每个文件运行命令copy_reference_file

我猜这可能会在实际运行构建之前复制构建运行的先决条件。谷歌充斥着这个命令的失败,主要是围绕Docker以及jenkins运行时如何安装卷。

与UNIX大多数情况一样,任何问题都是大小写(上/下),路径(文件所在的位置)或权限。你看到的任何问题都可能是后者。

编辑:作为参考,我在pastebin上粘贴了/ usr / local / bin / jenkins-support的相关内容。看起来它主要是在插件等Jenkins组件周围。这条确切的行似乎来自the main Jenkins startup script in the Docker image