关于 Jenkins 中 "a monolith" 项目的 CI 过程的问题
A question about CI process of "a monolith" project in Jenkins
我们有一个巨大的整体项目,每天都有很多开发人员将他们的代码签入到项目中。正如您可能猜到的那样,从事这样的项目真的很难,尤其是当许多开发人员同时从事这项工作时。白天经常有签到,构建项目确实需要时间。在这些条件下进行 CI/CD 过程真的很困难,但最困难的是,如果开发人员签入导致构建失败,因为签入经常完成,它会带来大量签入累积。其实我知道缺少什么但不知道最佳实践解决方案。我相信缺少的是书中所说的 Jez Humble 的持续交付 第 3 章,基本实践部分
Don't Check In on a Broken Build
我们将 Jenkins 用于 CI/CD,将 TFS 用于 SCM。目前我们的Jenkins版本是2.204.2,TFS Plugin版本是5.157.0
你能帮我看看如何应用这些练习吗?如何防止签入损坏的构建?这很重要,因为我们每天都在寻找谁破坏了构建并告诉 him/her "Hey, your last check-in broke the build can you check it.. Because everyone is waiting for you."
我认为 TFS 限制了您的可能性,因为它是分支模型。
当我不得不实施更现代的 ALM 时,我将 SCM 代码从 TFS 迁移到 Git(托管在 TFS 服务器内)。这使我能够在 ALM 中添加更多逻辑和功能,构建工作流和标记。有一个 github 存储库,其中包含用于 TFS 到 Git 迁移的已创建项目。
TFS 迁移 link:
我们有一个巨大的整体项目,每天都有很多开发人员将他们的代码签入到项目中。正如您可能猜到的那样,从事这样的项目真的很难,尤其是当许多开发人员同时从事这项工作时。白天经常有签到,构建项目确实需要时间。在这些条件下进行 CI/CD 过程真的很困难,但最困难的是,如果开发人员签入导致构建失败,因为签入经常完成,它会带来大量签入累积。其实我知道缺少什么但不知道最佳实践解决方案。我相信缺少的是书中所说的 Jez Humble 的持续交付 第 3 章,基本实践部分
Don't Check In on a Broken Build
我们将 Jenkins 用于 CI/CD,将 TFS 用于 SCM。目前我们的Jenkins版本是2.204.2,TFS Plugin版本是5.157.0
你能帮我看看如何应用这些练习吗?如何防止签入损坏的构建?这很重要,因为我们每天都在寻找谁破坏了构建并告诉 him/her "Hey, your last check-in broke the build can you check it.. Because everyone is waiting for you."
我认为 TFS 限制了您的可能性,因为它是分支模型。
当我不得不实施更现代的 ALM 时,我将 SCM 代码从 TFS 迁移到 Git(托管在 TFS 服务器内)。这使我能够在 ALM 中添加更多逻辑和功能,构建工作流和标记。有一个 github 存储库,其中包含用于 TFS 到 Git 迁移的已创建项目。
TFS 迁移 link: