我想构建一个集成多个代码库的流水线。
总体思路:
- 提供分支名称作为输入。
- 使用 GitHub-API 查找跨多个项目创建的从该名称分支创建的拉取请求。
- 从多个代码库中进行(浅)克隆,检出指定的拉取请求。
请注意,我并不尝试从拉取请求本身触发构建。
触发作业只是一个普通的流水线脚本。
因此,在我这种情况下,checkout scm
不适用。
能够从拉取请求中触发会很好。
Jenkins 的许多多分支插件都不能帮我解决问题,因为它们假设只有一个代码库参与构建。
到目前为止,我大多避免从 sh
步骤中调用 git
,因为这将使我接近丢弃所有 Jenkins-Git 集成。
如何才能直接使用 Pipeline 的 checkout
方法来检出一个拉取请求呢?
这甚至在 checkout
方法的范围内吗?
也许,我正在寻找的是直接与 Jenkins 的 JGit 客户端交互,此时我可能会使用 sh
命令...