GoCD依赖管理

当你有不重要的依赖关系管道链时,你可能会担心依赖管道和材料如何相互作用。 例如,代码和测试作为同一提交的一部分签入。 但是代码是按顺序构建和测试的,因此必须使用相同的材质版本来构建和测试代码。 本节介绍一些依赖管理概念以及GoCD如何处理某些复杂情况。

在整个依赖链中传播材料修订

如果您经常进行材料更新以及长时间运行的依赖管道共享相同的材料,则可能会遇到触发依赖关系链的修订版不再是最新修订版的情况。 Go会跟踪哪些修订触发了依赖关系链,并确保相同的版本在该链的所有成员中传播。 这有助于确保作为该构建的一部分生成的所有工件共享一个通用修订。

考虑以下依赖关系链:

说明

  • SCM : 存储库
  • rev1, rev2 : 入存储库
  • A : 开发构建的管道
  • 依赖性 B : 验收测试的管道

怎么运行的

  • 代码签入SCM(rev1)
  • 开发版本(A)由登记手续触发
  • 还有另一个签入SCM(rev2)
  • 开发版本完成(带rev1)并触发验收测试(B)
  • 这里是依赖管理的地方.Go足够聪明地检测到rev1最初触发了构建,并确保验收测试检查修订(rev1)而不是最新修订(rev2)。 在这种情况下,Go确保相应版本的验收测试针对相应版本的开发版本运行。

results matching ""

    No results matching ""