这里的Git子模块有多好?

时间:2012-02-16 17:20:04

标签: git integration jruby artifactory

我们有一个与Scala后端集成的jRuby前端(使用Git维护)(使用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
  7. 每当后端更新时,是否有办法告诉前端开发人员后端已更新,并需要执行类似“git pull”的操作以获取后端开发人员推送到Artifactory的最新JAR文件?

    可能的解决方案

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

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

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

    3. 如果config/jars.rb发生了变化,前端Git pull会下载最新的JAR文件(但不会将此JAR文件添加到提交中)。

    4. ==========================

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

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

2 个答案:

答案 0 :(得分:1)

正如我理解你的问题,Artifactory的Build Integration功能应该可以胜任。它将允许您将每个构建的jar跟踪回到触发构建的git commit。

答案 1 :(得分:0)

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