【问题标题】:Duplicating the same build process as in CI/CD for debugging复制与 CI/CD 中相同的构建过程以进行调试
【发布时间】:2018-06-01 11:19:39
【问题描述】:

我对 CI(持续集成)/CD(持续交付)主题有点陌生。我目前正在为 CI 和 CD 使用 TFS。在那里我发现有很多自定义构建过程(例如,运行某些 powershell 脚本、复制文件等)。在我的解决方案中,有很多不同的开发人员同时开发的分支。我也在使用 Git 作为版本控制。

问题: 由于我不时在主题之间移动,因此我向我的一些团队成员寻求在本地开发环境中调试他们的项目的建议。他们的建议是为了我的调试目的手动重复整个构建过程,因为我需要在这里和那里复制很多步骤。

我的问题: 有没有办法可以简化所有这些繁琐的过程?也许在 GIT 中创建一个构建分支会有所帮助?但是创建另一个构建分支也可能有其自身的风险,您需要加倍努力在构建服务器和您创建的构建分支之间同步构建过程?

我不确定去这里的最佳方式是什么,需要一些与此问题相关的指导或链接。

谢谢。

【问题讨论】:

  • 那么不同分支的构建步骤不同?
  • 是的,不同的分支用于不同的功能,所以构建步骤对于其中一些是非常独特的。我目前遇到的一个分支需要大量的复制文件,我发现在调试环境中重现相同的步骤非常乏味,并且理解那里的每个构建步骤非常耗时。但是,将其放置在该解决方案中确实有意义,因为工作流与它相关,我们只是有不同的构建定义,它们为这些“独特”项目中的一些启用/禁用构建。

标签: tfs continuous-integration azure-devops continuous-delivery


【解决方案1】:

这取决于您要如何调试项目。

团队应该何时添加分支?

  • 您应该在以下情况下创建分支:当您必须在与现有计划/周期不同的计划/周期中发布代码时
    分支机构。
  • 当您的代码需要不同的分支策略时。如果您创建一个具有新政策的新分支,则可以为
    添加战略价值 你的项目。
  • 当功能发布给客户并且您的团队计划进行不影响计划发布周期的更改时。

您不应该为每个用户故事创建一个分支,因为它 造成集成成本高。尽管使分支变得容易,但 如果您有很多分支机构,管理分支机构的开销可能会变得很大 分支。

来源:https://docs.microsoft.com/en-us/vsts/tfvc/branch-strategically#when-should-the-team-add-a-branch

如果您只是想复制相同的构建过程,那么您可以克隆构建定义和发布定义,然后分别触发克隆的构建/发布定义。

一般而言,对于 TFVC,您可以为构建定义启用Gated Check-In,这样它会自动触发构建,并且一旦构建失败,更改将不会被签入。

对于 Git,您还可以设置分支策略来实现:Improve code quality with branch policies。也可以参考这篇文章:Gated Check-ins in Visual Studio Team Services using TFSVC and Git

为了调试,您可以将变量system.debug设置为true,详见here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 2017-12-21
    • 2022-12-05
    • 2016-01-29
    • 2018-07-04
    • 2020-04-04
    相关资源
    最近更新 更多