当您创建 Github 组织或 Bitbucket 团队/项目时,配置项之一是:
Project Recognizers: Pipeline Jenkinsfile
除了“Pipeline Jenkinsfile”之外没有其他选项,但是事实上,该选项甚至存在,这表明开发人员设想人们为不支持的项目编写自己的自定义“识别器”存储库的顶层目录中有一个“Jenkinsfile”。
任何人都可以向我指出可以安装和使用的任何其他项目识别器的方向,甚至是有关从哪里开始实现我自己的识别器的一些详细信息吗?
我的特定用例是,在单个存储库中,我们定义了多个工作流程,这些工作流在一个存储库中协调代码/配置的操作,并且我希望能够使用 Bitbucket Team 选项来动态扫描存储库,查找所有分支/拉取请求中的所有 *.Jenkinsfile
文件并填充必要的管道。
例如,存储库中有以下文件:
/pipelines/workflow1.Jenkinsfile
/workflow2.Jenkinsfile
/workflow3.Jenkinsfile
我希望 Jenkins 创建文件夹结构:
/team/repo/workflow1/master
/dev
/PR1
/workflow2/master
/dev
/feature-xyz
对于我可以从哪里开始创建项目识别器来执行此操作(如果可能的话)有什么想法吗?
最佳答案
我认为您可以通过提供多个具有不同名称的项目识别器来做到这一点,例如:
项目识别器
===========================================
**管道 Jenkinsfile**
脚本路径: pipeline/workflow1.Jenkinsfile (或包含有效管道步骤的文件的路径。
===========================================
**管道 Jenkinsfile**
脚本路径: pipeline/workflow2.Jenkinsfile (或包含有效管道步骤的文件的路径。
===========================================
**管道 Jenkinsfile**
脚本路径: pipeline/workflow3.Jenkinsfile (或包含有效管道步骤的文件的路径。
这里的另一个选项可能是 Pipeline Shared Groovy Libraries Plugin ,有关此插件的更多详细信息可以在Extending with Shared Libraries找到。
这种方法使您能够使用自定义脚本(类、步骤等),这意味着您可以根据存储库名称、项目名称等定义自己的流程。
关于github - Jenkins 多分支管道的自定义项目识别器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43685452/