在Jenkins中运行具有依赖项的脚本

时间:2018-07-01 16:33:05

标签: jenkins

我正在从Jenkins管道中运行脚本(bash / ansible),该脚本具有相对于其他脚本的相对路径依赖性。这些脚本是用于许多项目的脚本,因此不能将其直接存储在源存储库中。目前,我正在通过将这些脚本存储在Jenkins主文件系统上并使用绝对文件路径对其进行调用来访问这些脚本及其依赖项。

很显然,这不是很容易移植,我想做一些事情,例如将脚本存储在共享库中并从那里引用它们。不幸的是, loadResource 命令将仅加载单个资源,并且不会解析任何没有价值的脚本依赖项。

我正在考虑的一些想法:

  • 将脚本放在单独的存储库中,然后将该存储库下载到构建工作区中,然后从工作区内部对其进行访问。
  • 将脚本放入共享库中,然后直接从共享库下载位置(/ var / lib / jenkins / jobs / foo-job)访问它们

对这些想法有何想法? 是否有人使用其他解决方案来引用Jenkins中具有依赖性的脚本? 谢谢。

1 个答案:

答案 0 :(得分:0)

选择第一个选项,即将脚本放在单独的仓库中

理性夫妇

  1. 共享库仍将引用当前unix系统的位置(/ var / lib / jenkins / jobs / foo-job),因此如果您这样做 切换系统,则有可能发生故障。击败 首先要达到的全部目的:)
  2. 您将对脚本有更多的控制权,可以将其视为 如果需要,可以使用单独的项目(在单独的仓库中创建)

另一种选择是为该项目量身定制脚本,然后将其直接添加到现有项目中。