【问题标题】:TFS: shared class library and continuous integrationTFS:共享类库和持续集成
【发布时间】:2023-03-10 03:33:01
【问题描述】:

我有很多项目共享一个内部开发的通用类库。

我们使用“持续集成”,签入触发构建、测试和部署。

我们目前没有对分支或类似的东西做任何花哨的事情。

但我们真正想做的是

  • a) 使用对共享库所做的任何更改自动更新我们的客户项目
  • b) 每当对共享库进行更改时,就会触发这些客户端项目的构建。

对我们来说简单是关键。

我注意到当我们设置构建时,我们可以从不同的工作区触发构建,我假设我们可以使用这个功能来触发客户端的构建?

但我们需要在触发构建之前以某种方式将新类库分发给这些客户端项目......所以这可能不是这样做的方法。

我们可以潜在地将共享类库作为代码包含在我们所有的客户端应用程序中……这行得通吗?还是这样做真的很愚蠢?...感觉不对(感觉就像复制/粘贴代码),但很简单。

任何想法......简单就是好......教科书“正确”很高兴......

【问题讨论】:

  • “将共享类库包含为代码”,我们只需将库的project添加到客户端solutions即可。所以没有代码重复,如果这是你担心的。当然还有通过更改库工作区来触发。对我们来说很好。
  • 好吧,这很简单,共享库很大,所以有点痛苦,不是代码重复,而是二进制重复...感觉不太对... ..我假设 TFS 不会对在多个解决方案之间共享一个项目感到困惑?
  • 为什么要进行二进制复制?我的意思是,您打算将该库部署到 GAC,还是不必将其与所有客户端项目一起部署?不,TFS 对此没有任何问题。实际上,我们甚至在解决方案集合中都这样做(这可能真的不是“教科书正确的”)。
  • 嗯,它是二进制复制...从某种意义上说,我假设在编译时创建了一组二进制文件...将为所有客户端应用程序解决方案重新创建共享二进制文件...谁在乎? ....也许不是我...

标签: visual-studio tfs continuous-integration continuous-deployment


【解决方案1】:

我们在 Jenkins 中执行此操作,我希望您可以在 TFS 中执行此操作,但我们已经跳槽,将库存储在本地 nuget 存储库中。

这不是一个真正的答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 2012-10-21
    • 2010-11-27
    • 2017-06-30
    • 2017-07-22
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多