jenkins 管道插件可以从自定义位置选择 jenkinsfile 并开始构建吗?
我不想将 jenkinsfile 保留在源代码中。如果源代码有任何变化。应该选择来自自定义位置的 jenkinsfile 并开始构建。
示例:/home/test/jenkinsfile
最佳答案
您当然可以尝试放置自定义位置(我不明白为什么不能),只要用户有权读取该位置。
如果是多分支管道,则比 no .因为索引是基于 Jenkinsfile
的存在(只有包含 Jenkinsfile
的分支被索引)
在您的存储库中拥有构建逻辑背后的想法是,这与您的源代码一起受到源代码控制。当您更改源代码中的某些内容并且这会影响您的构建时,构建该特定提交将拥有所有逻辑。如果你把它移到你的仓库之外,你的构建逻辑和你的仓库很可能会不同步。
编辑
您可以通过添加 Jenkinsfile
来解决此问题。这将加载另一个文件
Jenkins 文件:
load "/home/test/Jenkinsfile"
然而,据我所知,目录是相对于工作区的。所以如果你有任何
dir("path/to/other/dir"){..}
而不是相对于作业的工作空间运行,这使您的静态 Jenkinsfile
读起来很困惑。
关于jenkins - 从 jenkins 的管道插件中的自定义位置选择 JenkinsFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40280872/