web-dev-qa-db-ja.com

Jenkinsがgit fetchでハングする

私はJenkinsとImの初心者ですが、my.NETプロジェクトでいくつかの単体テストを実行できるようにしようとしています。

ビルドを実行すると、gitリポジトリからフェッチしようとするとハングします。

エラー:10分後にタイムアウト

C:\ Program Files\Git\cmd\git.exe config --local --remove-section credential#timeout = 10 ERROR:Error fetching remote repo 'Origin' hudson.plugins.git.GitException:Failed to fetch from- https://github.com/name.of.repo

https://wiki.jenkins-ci.org/display/のjenkinsの指示に従って、既知のホストを生成し、.sshディレクトリをC:\ Windows\SysWOW64\config\systemprofile.sshにコピーしましたJENKINS/Git + Plugin 「Jenkins、GITプラグイン、Windows」の下

私はcmd行からssh [email protected]を実行し、認証に成功しました。

何かアイデアはありますか?

ありがとう:)

10
mogoli

これはおそらくファイアウォールの問題です。 SSH(ポート22)を使用してGithubに認証できるため、そのルートが機能します。しかし、あなたの仕事はタイムアウトになる https://github.com (ポート443)経由でgithubにアクセスしようとしています。リポジトリのURLを[email protected]:account/repository.gitに変更して、ssh経由でgithubにアクセスしてみてください(このURLは、リポジトリのメインページのドロップダウン[Choose a clone URL]、オプション[SSH]にあります。

10

OPと同じ問題がありました。 SSH認証情報はJenkinsに保存され、同じリポジトリにアクセスする他の多くのノードで機能します。 Jenkinsユーザーとしてマシンにsshしてgit clone Jenkinsジョブと同じSSHリポジトリURLを使用してリポジトリで([email protected]:account/repo.git)。

回避策として、今のところJenkinsジョブのgit認証情報をnoneに設定しました。ローカルに保存されている資格情報を使用できると思います。

それは現在働いています。

1
Daniel

SSHを使用するより簡単な方法は、gitコマンドを実行する前にこのスニペットを追加することです。

echo "https://${GITHUB_USER}:${GITHUB_TOKEN}@github.intuit.com" >> /tmp/gitcredfile
git config --global credential.helper "store --file=/tmp/gitcredfile"
0
mohitmayank

ユーザー名とパスワードではなくSSHを使用してリモートGitリポジトリにアクセスする前に、クローンとフェッチのタイムアウト設定に注意する必要があります。

インターネット接続が不良で、リモートリポジトリのサイズが大きいと、クローンのタイムアウトが発生します。

プロジェクト設定に移動します:_Source Code Management_-> _Additional Behaviours_-> _Advanced clone behaviours_-> Timeout (In Minutes) for clone and fetch operations-> 10分以上。

enter image description here

インターネット接続が悪いか、リモートリポジトリのサイズが大きいかどうかに関係なく、gitクローンが長時間スタックするという同じ問題が引き続き発生する場合は、ユーザー名&の代わりにSSHを使用してリモートGitリポジトリにアクセスしてみてください。パスワード。

0
ifeegoo