Joh*_*ion 5 git jenkins jenkins-slave
在Windows Server 2012从属服务器上运行Jenkins时,作业已成功从Bitbucket本地(在防火墙内)提供服务的Git中获取数据;它的最后一项任务是对刚签出的更改执行“ git rev-list”。此命令大约需要8分钟才能完成。这是可重复的;这是一个相对较新的环境,我没有历史来看看这是否刚刚开始。
在我们的生产环境中,Jenkins本身在没有从属设备的Windows上运行(长达2年),此相同的rev-list命令只需3秒钟即可完成。
我看到过多次提到“ git fetch挂起”的内容,但对我而言,并不是挂起了-鉴于项目的规模,它会在合理的时间内完成。
带时间戳的日志如下。
00:00:00.001 Started by user #####
00:00:00.002 Building remotely on JS-W-01 (msvs ishield win) in workspace c:\jenkins\workspace\MyProject\2.7.11_nightly@2
00:00:00.015 [TemplateProject] Using SCM from: MyProject � 2.7.11_Template
00:00:00.044 Cloning the remote Git repository
00:00:00.049 Cloning repository ssh://vdn-bitbucket:7999/myprojectcore.git
00:00:00.052 > git init c:\jenkins\workspace\MyProject\2.7.11_nightly@2 # timeout=10
00:00:00.153 Fetching upstream changes from ssh://vdn-bitbucket:7999/myprojectcore.git
00:00:00.154 > git --version # timeout=10
00:00:00.200 using GIT_SSH to set credentials Jenkins Builder vdnbuild-bb SSH access key
00:00:00.210 > git fetch --tags --progress ssh://vdn-bitbucket:7999/myprojectcore.git +refs/heads/*:refs/remotes/origin/*
00:00:22.857 > git config remote.origin.url ssh://vdn-bitbucket:7999/myprojectcore.git # timeout=10
00:00:22.911 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
00:00:22.967 > git config remote.origin.url ssh://vdn-bitbucket:7999/myprojectcore.git # timeout=10
00:00:23.023 Fetching upstream changes from ssh://vdn-bitbucket:7999/myprojectcore.git
00:00:23.023 using GIT_SSH to set credentials Jenkins Builder vdnbuild-bb SSH access key
00:00:23.028 > git fetch --tags --progress ssh://vdn-bitbucket:7999/myprojectcore.git +refs/heads/*:refs/remotes/origin/*
00:00:23.641 > git rev-parse "refs/remotes/origin/release/2.7.11^{commit}" # timeout=10
00:00:23.697 > git rev-parse "refs/remotes/origin/origin/release/2.7.11^{commit}" # timeout=10
00:00:23.748 Checking out Revision fb773fc64875f5d457bc255088fcec4df3028216 (refs/remotes/origin/release/2.7.11)
00:00:23.752 > git config core.sparsecheckout # timeout=10
00:00:23.799 > git checkout -f fb773fc64875f5d457bc255088fcec4df3028216
00:02:21.725 Commit message: "Merge pull request #30 in MYPROJECT/core from bugfix/MYPROJECT-19 to release/2.7.11"
00:02:21.730 > git rev-list fb773fc64875f5d457bc255088fcec4df3028216 # timeout=10
00:10:50.813 [TemplateProject] Starting builders from: MyProject � 2.7.11_Template
00:10:50.827 [2.7.11_nightly@2] $ cmd /c call C:\Windows\TEMP\jenkins7743297501210902154.bat
00:10:50.853
Run Code Online (Sandbox Code Playgroud)
执行环境:
在Centos 7上运行的Jenkins 2.86;Git插件3.6.2(以及3.6.0附带)
在Windows Server 2012 R2 Standard上运行slave.jar 3.7的从站。
Git版本是2.14.3(也发生在2.10.0中)
除了确保所有内容都已更新(Jenkins 或 Git)之外,您似乎没有网络/防火墙问题,因为结帐部分完成得相当快。
正如我在这里提到的git rev-list,自 2017 年以来已经进行了多次修复,如果仍然很慢,请首先检查是否是由于 Jenkins 插件所致。
该命令被报告速度缓慢,例如,在问题 JENKINS-60536中,因为 Jenkins 管道 JiraSearch 和 JiraIssueUpdater 针对 Jira Cloud,已使用jenkinsci/jira-pluginPR 230修复
尝试禁用您的 Jenkins 插件,或使用另一个 Jenkins 实例(从全新安装手动启动的实例),只是为了测试在没有git rev-list任何插件的 Jenkins 执行时是否仍然缓慢。