代码之家  ›  专栏  ›  技术社区  ›  Allen Rice 0x6A75616E

使用SVN Update时,如何在Hudson(CI)中保留编译器警告?

  •  1
  • Allen Rice 0x6A75616E  · 技术社区  · 14 年前

    我有一个使用Hudson的持续集成设置,最近我配置了作业来使用svn update来获取最新版本的代码。我非常喜欢这种方法,因为它允许msbuild进行适当的版本设置,并且只构建受影响的程序集。

    • 组件1 10个警告
      • 组件2(取决于1) 10个警告
        • 组件3(取决于2)

    第一次生成将生成所有3个程序集并记录30个警告。

    据我所知,不会有任何办法来解决这个问题,但我很想知道是否有人配置了Hudson,以便在不同的版本之间保留这些编译器警告。

    编辑:是的,我意识到这可能会演变成一场“你应该/不应该对CI框进行更新”的辩论,但我们采用更新方法是有原因的。

    3 回复  |  直到 8 年前
        1
  •  1
  •   dkackman Srinivas Kokkula    14 年前

    我会改变你的CI构建方法。在构建机器上进行增量构建是非常容易误导的,而且只具有边际价值(IMHO),除非您的系统与操作系统一样大,否则您可能不会为自己节省太多时间。

    如果您有不经常更改或从未更改的程序集,请将它们打包为“第三方”依赖项(甚至可以在合并模块中打包,以便您的部署可以轻松地获取它们),并且不要使用CI重建它们。

    另一方面,如果您的所有程序集都是易失性的(在一个发布周期中需要多次重新生成),则始终构建它们。

        2
  •  0
  •   Allen Rice 0x6A75616E    14 年前

    好吧,msbuild正在做它应该做的事情:它只记录它遇到的警告。

    • 分析生成日志并确定哪些程序集未生成
    • foreach未构建程序集
      • 查找上次生成特定程序集时的警告

    它可能/可能并不笨拙,并且必须对msbuild日志格式有一个良好的理解。

    也有人认为这是一种误导,因为您记录的警告并不是针对特定版本记录的。

        3
  •  0
  •   Peter Schuetze    14 年前

    编辑: 版本控制问题