我正在尝试升级当前的回归基础架构以使用pipeline plugin,我意识到有两种方法:scripted pipeline
和declarative pipeline
。通过多篇文章,我意识到declarative pipeline
更具有未来性和更强大的功能,因此我倾向于使用它。但似乎有以下限制,我不希望在我的设置中:
jenkinsfile
需要在存储库中。我不想将jenkinsfile
保留在代码存储库中。
由于jenkinsfile
需要在SCM中。这是否意味着我无法测试文件中的任何修改,直到我检查到存储库。
上述任何细节都非常有用。
答案 0 :(得分:5)
声明性管道被编译为脚本化的管道,所以那些绝对不会消失。但是声明性的更容易处理,所以对你来说都很好。
您无需将Jenkinsfile
检入VCS。您还可以设置 Pipeline 类型的作业并在那里进行定义。但这有通常的缺点,如没有历史等。
当使用多分支管道时,即每个包含Jenkinsfile
生成自己作业的分支时,只需将已更改的管道推送到新分支并执行即可。完成后,将其合并。
这种方法肯定会稍微增加反馈周期,但它只是采用与编写软件时相同的原则。对于实验,只需设置管道类型的作业并进行游戏。然后,将其提交给分支,测试,审核,合并。
答案 1 :(得分:1)
您可以使用Pipeline Multibranch Defaults Plugin。它允许您在Web UI本身(使用Config File Provider插件)中定义Jenkinsfile,然后从多分支管道中引用该文件。