Jenkins:如果我们在两个不同的 GitLab 存储库中有代码,我们可以进行“持续集成”吗?

Posted

技术标签:

【中文标题】Jenkins:如果我们在两个不同的 GitLab 存储库中有代码,我们可以进行“持续集成”吗?【英文标题】:Jenkins: can we do 'continuous integration' if we have code in two different GitLab repository? 【发布时间】:2018-03-20 03:50:10 【问题描述】:

以我为例:我在 GitLab 上有两个存储库。

1- Repository A:包含 ROR 中的项目代码。

2- 存储库 B:包含 selenium-java 代码(网络自动化)。

我想应用持续集成。意思是,如果存储库 A 更新,我的测试用例应该在存储库 B 中执行。

有办法吗?

【问题讨论】:

这很常见,因为当上游构建成功时,下游作业才会执行 是的,您应该只了解细节并开始使用。这不是一个有问题的案例。您可以在脚本中克隆任何 repo 【参考方案1】:

是的,您可以:

    创建单个(脚本)管道作业。 使用“sn-p 生成器”为存储库 A 生成“签出”常规代码。确保“包括在轮询中?”已选中,并签出到特定的子文件夹。 再次使用“sn-p 生成器”为存储库 B 生成“签出”常规代码。确保“包括在轮询中?” 未选中,并签出到上一步中指定的子文件夹以外的特定子文件夹。 添加额外步骤(sh/bat 或其他)以构建您的项目。 添加额外步骤(sh/bat 或其他)以构建您的测试。 添加额外步骤(sh/bat 或其他)以执行您的测试。 奖励:您可以使用多个构建节点并行运行第 4 步和第 5 步,从而节省一些时间。

我在生产 CI 环境中成功地使用了多个 SVN 存储库。

【讨论】:

以上是关于Jenkins:如果我们在两个不同的 GitLab 存储库中有代码,我们可以进行“持续集成”吗?的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins一个任务中处理多个git仓库的解决

如何在 Jenkins 作业中获取 MR 的所有 GitLab 评论

DevOps系列——Jenkins/Gitlab自动打包部署

DevOps系列——Jenkins/Gitlab自动打包部署

基于Gitlab+Jenkins的代码自动化发布

k8s配合Jenkins-pipline做多分支构建24