Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 哈德逊-我怎样才能做到;SVN清理“;?_Jenkins_Svn_Hudson_Code Cleanup_Svn Checkout - Fatal编程技术网

Jenkins 哈德逊-我怎样才能做到;SVN清理“;?

Jenkins 哈德逊-我怎样才能做到;SVN清理“;?,jenkins,svn,hudson,code-cleanup,svn-checkout,Jenkins,Svn,Hudson,Code Cleanup,Svn Checkout,我已在我的SVN存储库目录中签出。这项工程要花很多时间才能彻底检查。因此,在创建哈德逊工作时,我需要: 清理目录(这解决了一些模棱两可的问题,例如:“Hudson workspace在构建时被锁定”) 恢复更改 更新 在哈德逊就业创造表中,我可以选择检查策略: 尽可能使用svn更新,更新前使用“svn还原” 尽量使用“svn开关” 尽可能多地使用“svn更新” 清理签出文件夹,然后签出 通过首先删除未版本化/忽略的文件,然后“svn更新”,模拟干净签出 清理工作区,然后签出(已删除) 对于我

我已在我的SVN存储库目录中签出。这项工程要花很多时间才能彻底检查。因此,在创建哈德逊工作时,我需要:

  • 清理目录(这解决了一些模棱两可的问题,例如:“Hudson workspace在构建时被锁定”)
  • 恢复更改
  • 更新
  • 在哈德逊就业创造表中,我可以选择检查策略

    • 尽可能使用svn更新,更新前使用“svn还原”
    • 尽量使用“svn开关”
    • 尽可能多地使用“svn更新”
    • 清理签出文件夹,然后签出
    • 通过首先删除未版本化/忽略的文件,然后“svn更新”,模拟干净签出
    • 清理工作区,然后签出(已删除)
    对于我的案例,什么是正确的选择


    多谢各位

    我会选择“尽可能多地使用svn更新,在更新之前使用'svn revert'。如果这还不够,请查看。它可以在SCm签出之前运行脚本。在Subversion插件接管恢复和更新之前,您可以使用它为您的作业运行svn清理。注意,您需要在生成服务器上安装某种SVN命令行客户端。

    如果生成正确,您应该能够尽可能简单地使用“SVN更新”。这是更新文件的最快方法。这意味着不修改提交的文件,或将构建工件放置在它们将干扰构建过程的目录中。在Java商店中,只需将所有构建的对象保存在一个子目录中(我们使用
    target
    来匹配Maven,但其他人使用
    build
    diet
    )就可以了,并且不影响流程的其余部分

    大多数人做一个清洁作为他们的建设步骤的一部分。理论上,这是不必要的,这样做会延长构建时间。构建的想法是不做任何不必要的工作。如果源文件未更改,则不需要重新生成相应的目标文件。然而,Java的编译速度非常快,大多数Java项目只需清除构建目录即可。在C项目中,不删除旧对象更好,因为它确实减少了构建时间


    如果您的构建过程出现问题,而尽可能多地使用“svn更新”无法工作,则应该修复构建过程。然而,在我们的老Jenkins服务器上有几个项目确实存在问题,而且它们没有更新到足以让人担心的程度。对于这些,我总是签出一份新的副本。这需要花费最长的时间,但是如果您在构建过程中遇到问题,我不会使用Simulate clean checkout,首先删除未版本/修改的文件,然后使用svn revert。这些可能会导致更新冲突,并导致生成问题。要么让构建正常工作,要么进行干净的签出

    谢谢你的回答,但不幸的是我没有安装插件的管理员权限。谢谢你的建议+1.