gpt4 book ai didi

jenkins - Hudson - 我怎样才能做一个 "SVN clean up"?

转载 作者:行者123 更新时间:2023-12-02 04:43:48 24 4
gpt4 key购买 nike

我已经在我的 SVN 存储库目录中进行了 checkout 。该项目需要很多时间才能完全检查。因此,在创建我的 Hudson 作业时,我需要按顺序执行此操作:

  1. 清理目录(这解决了一些不明确的问题,例如:“Hudson workspace locked while building”)
  2. 还原更改
  3. 更新

在 Hudson job creation 表单中,我对 Check-out Strategy 的选择是:

  • 尽可能使用 svn update,在更新前使用 'svn revert'
  • 尽可能使用'svn switch'
  • 尽可能使用'svn update'
  • 清理结帐文件夹,然后结帐
  • 通过首先删除未版本化/忽略的文件,然后“svn update”来模拟干净的结帐
  • 清理工作区,然后结帐(消除)

什么是适合我的情况的正确选择?

非常感谢!

最佳答案

如果您的构建正确完成,您应该能够简单地尽可能使用“svn update”。这是更新文件的最快方式。这意味着不修改已提交的文件,或将构建工件放在会干扰构建过程的目录中。在 Java 商店中,只需将所有构建的对象保存在一个子目录中(我们使用 target 来匹配 Maven,但其他人使用 builddiet)和不妨碍流程的其余部分。

大多数人在构建步骤中都会执行清理。从理论上讲,这不是必需的,这样做会延长构建时间。构建的想法是不做任何不必要的工作。如果源文件未更改,则不需要重建相应的目标文件。然而,Java 的编译速度非常快,大多数 Java 项目只是简单地将构建目录删除干净。在 C 项目中,不删除旧对象更好,因为它确实减少了构建时间。

如果您的构建过程存在问题,尽可能多地使用“svn update” 无法工作,您应该修复您的构建过程。但是,我们旧的 Jenkins 服务器上有几个项目确实存在问题,而且它们的更新程度还不够高,所以不用担心。对于那些,我总是 checkout 一份新的副本。这需要最长的时间,但如果您在构建过程中遇到问题,我不会费心使用通过首先删除未版本化/修改的文件来模拟干净的 checkout 首先使用svn revert。这些可能会导致更新冲突,并导致您的构建出现问题。要么让构建正常工作,要么进行干净的检查。

关于jenkins - Hudson - 我怎样才能做一个 "SVN clean up"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20218914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com