質問: ### 前提・実現したいこと 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)
回答: さまざまなアドバイスをいただきましたが、今回の目的(githubのプライベートリポジトリからのチェックアウト)は、ssh鍵の作成方法の見直しと、jenkinsへの認証情報欄への入力に誤りがあったので、これを解決する事で達成できました。 > > ソースコード管理/Git/認証情報 > > ⇒ 追跡ボタンより、「ユーザー名とパスワード」、「SSHユーザー名と秘密鍵」の2パターンを検証。 > > SSHの秘密鍵は、直接入力で、Git Bash で作成したものを指定(github側にもSSH公開鍵を追加) > > > 大変ありがとうございました。