当前位置: 首页 > 面试题库 >

jenkins清除存储库并在结帐前强制克隆vs Clean

晋承嗣
2023-03-14
问题内容

我正在尝试了解拉出git
repo的“擦除仓库并强制克隆”和“在结帐前清洁”这两个选项之间的区别。查看这两个选项的帮助部分,它们似乎都具有相似的功能,我无法分辨出它们的区别。它们的外观如下:

清除存储库并强制克隆:

在构建之前,请删除工作空间的内容,以确保工作空间完全新鲜。

结帐前清洁

通过删除所有未跟踪的文件和目录(包括.gitignore中指定的文件和目录),在每次签出之前清理工作区。它还会将所有跟踪的文件重置为其版本状态。这样可以确保工作空间处于与您在全新的空目录中克隆并检出状态相同的状态,并确保您的构建不受先前构建生成的文件的影响。

我找不到这两个选项之间的任何比较。无论是在Jenkins / GitPlugin
Wiki中,还是在堆栈溢出中,甚至在Google中都没有。目前,我们有两种选择,但我们计划通过删除“清除存储库并强制克隆”选项来减少构建时间。但是我不想在执行此操作时破坏任何功能。如果您确定,请说明差异。提前致谢
:)


问题答案:

清除存储库并强制克隆
将清理整个项目工作区,并在构建之前再次克隆项目。可能会很耗时,具体取决于项目规模。如果项目为1GB,则每次构建时都会下载1GB。

检出前先清除,然后再 删除作为构建的一部分创建的文件(例如测试结果等),如果文件已更新,则会重置文件;如果文件已更新,则会提取最新更改。
这样可以确保工作空间处于与克隆并在全新的空目录中签出相同的状态 。它仅下载可能只有几个MB的增量。因此,它消耗的时间更少。

因此,您可以 在结帐前 继续使用 Clean 而不影响构建。使用此选项已超过4年,没有任何问题。



 类似资料:
  • 问题内容: 我真的很坚持这一点。我在哈德森(Hudson)创建了一个工作,并以与其他工作相同的方式进行了配置。我的项目和构建交付物存在于Git中。但是每次我尝试构建它时,都会出现以下错误: 在其他线程中,有人建议通过以jenkins用户身份登录来创建不同的私钥-公钥对,但我什至不知道如何在终端中执行此操作。我的意思是我知道如何使用“ sudo”命令以不同的用户身份登录,但我不认为有人建议使用sud

  • 本文向大家介绍Git 克隆SVN存储库,包括了Git 克隆SVN存储库的使用技巧和注意事项,需要的朋友参考一下 示例 您需要使用以下命令创建存储库的新本地副本 git svn clone SVN_REPO_ROOT_URL [DEST_FOLDER_PATH] -T TRUNK_REPO_PATH -t TAGS_REPO_PATH -b BRANCHES_REPO_PATH 如果您的SVN储存库

  • 我正在尝试连接到我的VPS上托管的gerrit。我正在使用Git Bash for windows。我在GitBash中使用SSH-keygen生成了SSH密钥,并在gerrit服务器上添加了密钥。当我运行ssh时-p 29418 但当我通过运行以下命令克隆存储库时 我在Git Bash终端中看到以下错误 我无法理解正在发生什么以及如何在我的机器中成功克隆我的项目。有谁能在这件事上帮助我吗? 更新

  • 我的项目遇到了一些内存问题,所以我决定对一些部分进行压力测试,以查看一些性能度量。我正在使用Google的ConcurrentLinkedHashMap库作为LRU内存缓存。我的测试代码的相关部分如下所示: 当内存超过50%时,我将throttle(油门)标志设置为true(真)。我有一个监视线程,它每2秒进行一次测量。以下是我得到的数字: 由于某种原因,我没有看到LRU缓存的

  • 问题内容: 我已经通过Windows 2008 32位上的Git / SSH在Jenkins中成功克隆了Git存储库。当我尝试在64位Windows 2008上执行相同操作时, 控制台输出 页面卡在此处: 当我停止构建时(在卡住了几分钟之后),我得到了其余的错误消息: 我可以通过两台机器上的Jenkins 通过Git只读URL克隆存储库 我可以从两台计算机上的命令行通过Git / SSH URL进

  • 问题内容: 我是github组织的所有者,可以访问所有存储库。其中一些是私人的,其他则是公共的。我正在尝试将Jenkins设置为在向组织的任何存储库发出拉取请求时触发构建。问题是我有一个外部系统,每当发出请求时,它就会通过github webhooks通知。我必须将Jenkins与此系统集成在一起。该系统还可以通过api请求触发到Jenkins的通知。(https://python- jenkin