好的,我是詹金斯的新手。
我正在阅读Jenkins: The Definitive Guide并尝试设置第一个示例。
我遇到问题并且我已经搜索过,并且没有真正找到答案。
所以,我在这里发帖,希望这是一个简单的配置问题。
我做了以下事情:
但是,每次Jenkins尝试从Git存储库中提取更改时,我都会看到以下错误消息:
SCM变更开始:
Building in workspace C:\Jenkins\workspace\game-of-life-default
git.exe rev-parse --is-inside-work-tree
Fetching changes from the remote Git repository
git.exe config remote.origin.url git@github.com:xxxx-xxxxxx/game-of-life.git
Fetching upstream changes from git@github.com:xxxx-xxxxx/game-of-life.git
git.exe --version
git.exe fetch --tags --progress git@github.com:xxxx-xxxxx/game-of-life.git +refs/heads/*:refs/remotes/origin/*
ERROR: Timeout after 10 minutes
FATAL: Failed to fetch from git@github.com:xxxx-xxxxx/game-of-life.git
hudson.plugins.git.GitException: Failed to fetch from git@github.com:xxxx-xxxxx/game-of-life.git
答案 0 :(得分:0)
关于Jenkins民意调查Git回购的超时似乎正在进行中:JENKINS-20750
我们遇到了类似的问题.. 2008服务器,Jenkins 1.560,git-client-plugin 1.8.0。
git polling挂起,奇怪的错误无法创建
~/.ssh
文件夹...(文件夹在那里)作为jenkins用户在服务器上运行,而不是作为系统帐户运行。
未设置HOMEDRIVE
或HOMEPATH
个环境变量 我们使用这个脚本来终止>3
分钟SCM轮询过程,这似乎可以让事情再次相当可靠。
Jenkins.instance.getTrigger("SCMTrigger").getRunners().each()
{
item ->
println(item.getTarget().name)
println(item.getDuration())
println(item.getStartTime())
long millis = Calendar.instance.time.time - item.getStartTime()
if(millis > (1000 * 60 * 3)) // 1000 millis in a second * 60 seconds in a minute * 3 minutes
{
Thread.getAllStackTraces().keySet().each()
{
tItem ->
if (tItem.getName().contains("SCM polling") && tItem.getName().contains(item.getTarget().name))
{
println "Interrupting thread " + tItem.getName();
tItem.interrupt()
}
}
}
}
如果我们可以将SCM轮询超时与一般GIT轮询超时分开设置,那就太好了。 (1分钟应该足够)