jenkins - 从 jenkins 的管道插件中的自定义位置选择 JenkinsFile

标签 jenkins jenkins-pipeline

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/

相关文章:

xml - XPath 和 Jenkins Plot 插件

docker - 避免数据库ip,用户并使用docker传入jenkinsfile

Jenkins 共享库: Permission denied (publickey)

regex - NUnit 控制台命令行正则表达式不区分大小写?

amazon-web-services - 使用 groovy 脚本更新 jenkins 文件中的 aws 凭证

Jenkins 和 docker : uri was not specified

jenkins - 与 Jenkins 工作流程/管道并行运行阶段

jenkins - Jenkins 管道脚本中的 Try-catch block

continuous-integration - Xcode 构建错误 Jenkins : Your session has expired. 请登录

jenkins - 有没有一种简单的方法可以将现有的 Jenkins 自由式作业转换为新的 Jenkins 2.x 管道 View