質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.49%

  • Git

    1669questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    1063questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • Jenkins

    175questions

    Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。

jenkins にて、git fetch が完了しない。

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 6,992

myy

score 2

前提・実現したいこと

Windows7 Professional (64bit) 上にインストールしたjenkinsにて、githubにあるprivateリポジトリのクローンを行いたいです。
設定を施し試してみたところ、fetch コマンドの段階で先に進まずタイムアウトしてしまいます。

調査し、いくつか試してみたのですが解決しません。
おそらくはfetchが行われる直前(認証系?)で問題が起こっていると推測しているのですが原因が特定できておりません。

考えられる可能性をご教示いただけますと幸いです。

発生している問題・エラーメッセージ

jenkins job のコンソール出力

13:03:12 ユーザーが実行
13:03:12 ビルドします。 ワークスペース: C:\Jenkins\workspace\xxx
13:03:12  > git.exe rev-parse --is-inside-work-tree # timeout=10
13:03:12 Fetching changes from the remote Git repository
13:03:12  > git.exe config remote.origin.url https://github.com/アカウント名/リポジトリ名/ # timeout=10
13:03:12 Fetching upstream changes from https://github.com/アカウント名/リポジトリ名/
13:03:12  > git.exe --version # timeout=10
13:03:12 using GIT_ASKPASS to set credentials 
13:03:12  > git.exe fetch --tags --progress https://github.com/アカウント名/リポジトリ名/ +refs/heads/*:refs/remotes/origin/* # timeout=30
13:33:12 ERROR: Timeout after 30 minutes
13:33:12 ERROR: Error fetching remote repo 'origin'
13:33:12 hudson.plugins.git.GitException: Failed to fetch from https://github.com/アカウント名/リポジトリ名/
13:33:12     at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:817)
13:33:12     at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1084)
13:33:12     at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1115)
13:33:12     at hudson.scm.SCM.checkout(SCM.java:495)
13:33:12     at hudson.model.AbstractProject.checkout(AbstractProject.java:1212)
13:33:12     at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:566)
13:33:12     at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
13:33:12     at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:491)
13:33:12     at hudson.model.Run.execute(Run.java:1737)
13:33:12     at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
13:33:12     at hudson.model.ResourceController.execute(ResourceController.java:97)
13:33:12     at hudson.model.Executor.run(Executor.java:419)
13:33:12 Caused by: hudson.plugins.git.GitException: Command "git.exe fetch --tags --progress https://github.com/アカウント名/リポジトリ名/ +refs/heads/*:refs/remotes/origin/*" returned status code -1:
13:33:12 stdout: 
13:33:12 stderr: 
13:33:12     at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1924)
13:33:12     at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1643)
13:33:12     at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:71)
13:33:12     at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:352)
13:33:12     at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:815)
13:33:12     ... 11 more
13:33:12 ERROR: Error fetching remote repo 'origin'
13:33:12 Skipped archiving because build is not successful
13:33:12 Finished: FAILURE

なお、ワークスペース内の
[job名]\.git\refs\heads
を確認しましたが、一向にファイルが増えることはありませんでした。

試したこと

課題に対してアプローチしたことを記載してください

●git fetch のタイムアウトを30分に設定

●以下、Git for windows の gitconfig から[credential]の項目を削除
リンク内容

●以下、設定の見直し

全体設定

jenkinsの管理/システムの設定/Git Plugin
⇒グローバルなuser.nameの値 と グローバルなuser.emailの値 両方を設定。以前より source tree にて、使用実績のある値を設定。

jenkinsの管理/Global Tool Configuration/Git のGit実行形式へのパスの設定
⇒git と git.exe の両方を試しました。

Jobの設定

GitHub project/Project url
⇒https://github.com/アカウント名/リポジトリ名/

ソースコード管理/Git/リポジトリURL
⇒ https://github.com/アカウント名/リポジトリ名/

ソースコード管理/Git/認証情報
⇒ 追跡ボタンより、「ユーザー名とパスワード」、「SSHユーザー名と秘密鍵」の2パターンを検証。
SSHの秘密鍵は、直接入力で、Git Bash で作成したものを指定(github側にもSSH公開鍵を追加)

ソースコード管理/Git/リポジトリ・ブラウザ
⇒ githubweb 
ソースコード管理/Git/URL
⇒ https://github.com/アカウント名/リポジトリ名/

補足情報(言語/FW/ツール等のバージョンなど)

jenkins 2.73.1
Git for windows 2.14.2.2 (64bit)
Git Plugin 3.6.0
Windows7 Professional SP1 (64bit)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • gouf

    2017/10/10 17:41

    Git プラグインではなく、GitHub プラグインで設定をしてみた場合、変化は見られますか?

    キャンセル

  • myy

    2017/10/10 18:04

    ご指摘ありがとうございます。GitHub プラグインについて調べてます。

    キャンセル

  • myy

    2017/10/19 14:36

    ssh認証の方法を見直したところ解決しました。 お手数お掛けしました。

    キャンセル

回答 2

check解決した方法

0

さまざまなアドバイスをいただきましたが、今回の目的(githubのプライベートリポジトリからのチェックアウト)は、ssh鍵の作成方法の見直しと、jenkinsへの認証情報欄への入力に誤りがあったので、これを解決する事で達成できました。

ソースコード管理/Git/認証情報
⇒ 追跡ボタンより、「ユーザー名とパスワード」、「SSHユーザー名と秘密鍵」の2パターンを検証。
SSHの秘密鍵は、直接入力で、Git Bash で作成したものを指定(github側にもSSH公開鍵を追加)

大変ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

以下、Git for windows の gitconfig から[credential]の項目を削除

自分の環境では、リンク先と同様の処理で解決しました([credential]は残して、helper = managerのみ削除)。

  • コマンドプロンプトを「管理者として実行」で開き、git config --system --unset credential.helperなどを実行して資格情報ヘルパーを使用しないように変更

上記のようにシステムの設定ファイルでcredential.helperを使用しないように設定してもダメなら、ユーザの設定ファイル(~/.gitconfig)や対象リポジトリの設定ファイル(.git/config)も変更してみてはどうでしょうか。

  • git config --global --unset credential.helper~/.gitconfigを変更
  • 対象リポジトリに移動して、git config --unset credential.helper.git/configを変更

その他、gitのインストール時にEnable Git Credential Managerのチェックを外すのも良いかもしれません。

スクリーンショット

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/19 14:36

    ssh認証の方法を見直したところ解決しました。
    お手数お掛けしました。

    キャンセル

同じタグがついた質問を見る

  • Git

    1669questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    1063questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • Jenkins

    175questions

    Jenkinsとは、Apache TomcatなどのServletで動作しているサーバーベースシステムです。Jenkinsはオープンソースであり、LInux,Mac OS X,Windows,Solaris,FreeBSDとOpenBSDのためのパッケージがあります。