0

我们有一个 jRuby 前端(使用 Git 维护)与一个 Scala 后端(使用 Artifactory 维护)集成。后端 JAR 文件位于/lib/jars.

到目前为止,每当更新 JAR 文件时,我们都会下载该 JAR 文件并将其复制到/lib/jars. 我们不会将 JAR 文件添加到 Git(空间、速度等),因此我们无法跟踪哪个 JAR 文件与特定的前端提交一起使用。

我们想实现如下,

  1. 前端 v1.1,后端 v1
  2. v1.1 的前端,v2 的后端
  3. 前端现在在 v1.2(强制用户更新 JAR 文件),后端在 v2
  4. 前端进入 v2.2,后端进入 v2
  5. v2.2 的前端,v3 的后端
  6. 前端现在在 v2.3(强制用户更新 JAR 文件),后端在 v3

每当后端更新时,有没有办法告诉前端开发者后端已经更新,需要做类似“git pull”之类的操作来获取后端开发者推送到 Artifactory 中的最新 JAR 文件?

可能的解决方案

===========================

  1. 后端开发者构建开发者并推送到 Artifactory

  2. 该构建过程还会更新前端应用程序中 config/jars.rb 中 JAR 文件的版本号。

  3. 如果config/jars.rb.

===========================

** 最终,问题在于跟踪特定前端提交中的 JAR 文件版本,而不将该 JAR 文件存储在前端存储库中(因为它已经存在于 Artifactory 中)**

Git 子模块在这种情况下是否有效?有什么建议么?

4

2 回答 2

1

据我了解您的问题,Artifactory 的构建集成功能应该可以完成这项工作。它将允许您将每个构建的 jar 追溯到触发构建的 git 提交。

于 2012-02-16T19:29:19.977 回答
0

您可以编写一个简单的 Artifactory插件来拦截 afterCreate() 事件,以使用对新部署的后端 jar 的引用来更新前端配置。插件是 Artifactory Pro 的一部分。

于 2012-02-16T22:40:31.380 回答