Continuous integration 哈德逊:构建链接和两个项目

Continuous integration 哈德逊:构建链接和两个项目,continuous-integration,hudson,Continuous Integration,Hudson,我有两个项目在Hudson组装Maven 2,比如:Shared.jar和Server.jar 服务器依赖于共享服务器 我想实现以下构建场景: 当某物被承诺 只重建服务器的服务器 当某物被承诺 共享-首先构建共享,然后 服务器 当某物被承诺 服务器和共享(一次提交为) 他们在一个SVN回购协议中——首先 先构建共享,然后构建服务器 这是显而易见的行为,但我得到的是,我已经在第三种情况下构建了两次服务器。有机会解决这个问题吗?我用的是哈德逊1.392 在SVN项目中,如下所示: + SVN rep

我有两个项目在Hudson组装Maven 2,比如:Shared.jar和Server.jar

服务器依赖于共享服务器

我想实现以下构建场景:

  • 当某物被承诺 只重建服务器的服务器
  • 当某物被承诺 共享-首先构建共享,然后 服务器
  • 当某物被承诺 服务器和共享(一次提交为) 他们在一个SVN回购协议中——首先 先构建共享,然后构建服务器
  • 这是显而易见的行为,但我得到的是,我已经在第三种情况下构建了两次服务器。有机会解决这个问题吗?我用的是哈德逊1.392

    在SVN项目中,如下所示:

    + SVN repo root
     |
     + Server
     |  ...
     |  pom.xml
     + Shared
        ...
        pom.xml
    

    我不认为有一个简单的方法可以做到这一点,但我认为有一个不太难的方法

    创建一个新作业(在本例中称之为触发器),该作业具有监视服务器和共享服务器的生成触发器。当提交某些内容(服务器或共享)时,有一个生成任务(在我的情况下,可能是Windows bat或PowerShell脚本),该任务将检查提交的内容并决定需要生成的内容-服务器或共享。基本上,您的三个案例逻辑将在这里处理

    根据结果,让构建任务在工作区中创建/更新两个文件——调用其中一个BUILDSHARED.TXT和另一个BUILDSERVER.TXT(例如)。当您希望重建该组件时,您需要更改文件的内容(例如将$BUILD_标记转储到文件中)。注意:如果要同时重建服务器和共享作业,则需要指示应重建共享作业。现在,让作业归档这两个文件

    修改共享作业以包含插件。设置生成触发器以监视触发器作业的BUILDSHARED.TXT文件的永久链接的URL。当监视的文件发生更改时,将触发共享文件的新生成

    还可以修改共享作业,以便在成功完成后启动服务器作业的下游构建。您可以使用“构建其他项目”选项,或者使用我个人最喜欢的

    最后,修改服务器作业以使用插件。将其设置为监视触发器作业的BUILDSERVER.TXT文件的永久链接的URL。现在,如果服务器提交或共享作业完成,将触发服务器作业


    我想这就是你想要的…

    我不认为有一个简单的方法可以做到这一点,但我认为有一个不太难的方法

    创建一个新作业(在本例中称之为触发器),该作业具有监视服务器和共享服务器的生成触发器。当提交某些内容(服务器或共享)时,有一个生成任务(在我的情况下,可能是Windows bat或PowerShell脚本),该任务将检查提交的内容并决定需要生成的内容-服务器或共享。基本上,您的三个案例逻辑将在这里处理

    根据结果,让构建任务在工作区中创建/更新两个文件——调用其中一个BUILDSHARED.TXT和另一个BUILDSERVER.TXT(例如)。当您希望重建该组件时,您需要更改文件的内容(例如将$BUILD_标记转储到文件中)。注意:如果要同时重建服务器和共享作业,则需要指示应重建共享作业。现在,让作业归档这两个文件

    修改共享作业以包含插件。设置生成触发器以监视触发器作业的BUILDSHARED.TXT文件的永久链接的URL。当监视的文件发生更改时,将触发共享文件的新生成

    还可以修改共享作业,以便在成功完成后启动服务器作业的下游构建。您可以使用“构建其他项目”选项,或者使用我个人最喜欢的

    最后,修改服务器作业以使用插件。将其设置为监视触发器作业的BUILDSERVER.TXT文件的永久链接的URL。现在,如果服务器提交或共享作业完成,将触发服务器作业


    我想这正是你想要的…

    你能提供更多关于svn回购结构的信息吗?服务器和共享在不同的子目录中吗?一个repo,两个目录:对于server和sharedco,您可以提供关于svn repo结构的更多信息吗?服务器和共享在不同的子目录中吗?一个repo,两个目录:对于服务器和sharedWell,这绝对是一种实现这一点的方法。。。但如果我找不到任何解决问题的内置解决方案,我最好还是坚持重建服务器和共享存储库,然后更新任何存储库,尽管这是最好避免的。好吧,这绝对是一种方法。。。但如果我找不到任何解决问题的内置解决方案,我最好坚持重建服务器和共享存储库,然后更新任何存储库,尽管最好避免这样做。