2017-08-24 9 views
1

gitリポジトリ(ウェブ上)を私のJenkinsにコピーして、私たちのローカル(イントラネット)gitにジョブをセットアップしました。時間の99%が問題なく動作します。Jitkinsがgit接続の失敗でジョブを中止できない

しかし、私たちのインターネット接続はそれほど大きくないので、リモートリポジトリに接続できません。この問題は、接続問題では正確には問題ではありません。問題はジェンキンスがどのようにそれを処理するかにある。

15分ごとに実行されるように設定され、リモートレポの変更を探します。 (私たちはまだwebhookを設定していませんでした)10回中に9回、そこにはなく、 "No changes - OK"で終わります。

インターネット接続がうまくいかないときは、gitのクエリはタイムアウトしますが、ジョブを中止して15分後に実行すると、狂った状態になり、Repo全体をダウンロードしようとします。もちろん、その時点での接続は良くありません。最悪の部分?私が手動で行うまで、ジョブは再び実行されません。

この動作を修正する方法に関するヒントはありますか?以下は、Jenkinsの奇妙な行動を示すログです。

16:30:09 > git fetch --tags --progress https://[email protected]/yyy/mmmmm.git +refs/heads/*:refs/remotes/origin/* 
16:40:09 ERROR: Timeout after 10 minutes 
16:40:09 ERROR: Error cloning remote repo 'origin' 
16:40:10 hudson.plugins.git.GitException: Command "git fetch --tags --progress https://[email protected]/yyy/mmmmm.git +refs/heads/*:refs/remotes/origin/*" returned status code 143: 
16:40:10 stdout: 
16:40:10 stderr: remote: Counting objects: 45507, done.   
16:40:10 remote: Compressing objects: 0% (1/397)   
remote: Compressing objects: 1% (4/397)   
remote: Compressing objects: 2% (8/397)   
remote: Compressing objects: 3% (12/397)   
remote: Compressing objects: 4% (16/397)   
[...] 
Receiving objects: 54% (24849/45507), 83.98 MiB | 82.00 KiB/s 
Receiving objects: 54% (24849/45507), 84.04 MiB | 84.00 KiB/s 
16:40:10 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1799) 
16:40:10 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1525) 
16:40:10 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:65) 

答えて

1

これは、最も輝かしい解決策ではないかもしれませんが、の下で高度なプロジェクトオプションをカウント再試行を設定すると、あなたの苦境のいくつかを軽減するかもしれません。 再試行回数が設定されている場合、Jenkinsは、ビルドが失敗したときに、何回か(設定されていても)リポジトリからコードをチェックアウトし直します。

ジェンキンスサーバーが実際にクラッシュした場合、提供された詳細から実行されている可能性があると思われる場合、すぐにWebhookを実装し、手動でビルドすることをお勧めします。短時間の手動ビルドを行うことには何も問題はありません。完全な自動化が理想的ですが、依然として許容可能なCIの実践です。

関連する問題