首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在连续集成过程中失去连接

在连续集成过程中失去连接
EN

Stack Overflow用户
提问于 2016-01-27 10:03:52
回答 1查看 436关注 0票数 0

我使用DigitalOcean液滴进行连续积分。

每当有人在我们的Github存储库上推送一些东西时,就会创建一个液滴。然后Jenkins (在分离的液滴上)通过ssh连接到新创建的液滴,并启动一个shell脚本来构建和测试该项目。

Github更改-> Jenkins (关于液滴A) ->构建/测试(在新液滴X上)

Github改变-> Jenkins (关于液滴A) ->构建/测试(在新滴Y上)

Github更改-> Jenkins (关于液滴A) ->构建/测试(在新液滴Z上)

问题是,随机地,新创建的液滴正在失去与它在构建过程中试图连接的任何东西的连接。例如,具有相同内容的2/10液滴在使用此消息的"git拉“命令期间将失败:

"ssh: connect to host github.com port 22: Connection timed out"

"[ComposerDownloaderTransportException] The "https://api.github.com/repos/symfony/symfony/zipball/d3646cc6875c214d211001e0673ec9e91b5f2da7" file could not be downloaded: failed to open stream: Connection timed out "

没有iptables规则,UFW也没有在这些液滴上启用。什么能随机阻止与这些服务的连接?

有什么建议吗?

编辑

澄清

  • 它在构建过程中随机发生,第一个'git克隆‘命令可以成功,而另一个'git克隆’可能在2分钟后失败。
EN

回答 1

Stack Overflow用户

发布于 2016-01-28 09:15:56

我的git回复也面临着同样的问题。我创建了一个脚本,如果任何git命令失败,最多试5次。

下面是我的脚本git_retry。

示例:

代码语言:javascript
复制
git_retry clone <clone_url>

剧本:

代码语言:javascript
复制
#!/bin/bash

MAX_RETRY_COUNTER=5
RETRY_SLEEP=10

try_number=0

while ! git $@
do
  if try_number=`expr $try_number + 1` && [ "$try_number" -lt $MAX_RETRY_COUNTER ];
  then
    echo "Warning: Issue during git operation. Try $try_number. Retrying in $RETRY_SLEEP seconds..."
    sleep $RETRY_SLEEP
    echo
  else
    echo "Error: Issue during git operation. Try $try_number..."
    echo
    exit 1
  fi
done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35034213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档