&引用;线程安全“;git pull或如何避免“../。git/index.lock';:文件存在。”;

&引用;线程安全“;git pull或如何避免“../。git/index.lock';:文件存在。”;,git,jenkins-pipeline,Git,Jenkins Pipeline,假设我有两个Jenkins构建,它们有时一起启动,如果它们都需要相同的git存储库并尝试合并,其中一个将失败: fatal:无法创建“/project\u path/.git/index.lock”:文件存在。 除了检查“index.lock”是否存在之外,还有更好的方法吗?因为,掩盖这一特定错误会给您带来更深、更恶性的错误 虽然git-pull并不是问题的具体原因,但这是使用git-pull时出现的问题的另一个症状。如果您通过使用gitgit pull运行的两个git命令替换每个git pul

假设我有两个Jenkins构建,它们有时一起启动,如果它们都需要相同的git存储库并尝试合并,其中一个将失败:

fatal:无法创建“/project\u path/.git/index.lock”:文件存在。

除了检查“index.lock”是否存在之外,还有更好的方法吗?

因为,掩盖这一特定错误会给您带来更深、更恶性的错误


虽然
git-pull
并不是问题的具体原因,但这是使用
git-pull
时出现的问题的另一个症状。如果您通过使用git
git pull
运行的两个git命令替换每个
git pull
来避免
git pull
,那么问题可能会更明显(或者可能只是进入第二个Git命令,这些构建是否共享同一个工作区目录?
/project\u path/
应该可以帮助您确定这是远程(Git服务器)还是本地(jenkins)error是的,它们共享同一个工作区目录,我不需要两个目录都拉。这肯定是一个本地错误,检查index.lock文件是否存在并跳过拉将起作用,只是认为可能有一个“正确的”解决方法。你的问题更深。想象一下,一个作业拉动并正在运行,而另一个作业再次拉动并在第一个作业仍在编译时更改源代码。你需要对整个作业或单独的目录进行某种锁定,这是jenkins中的默认设置