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 作业中获取 MR 的所有 GitLab 评论
DevOps系列——Jenkins/Gitlab自动打包部署