Jenkinsがアクセスできるように、gitリポジトリのURLを構成することはできません。
「プロジェクト>構成>ソースコード管理」で、リポジトリのURLを「git @ store:repositories/testproject.git」に設定しました
私はこのエラーを受け取ります:
Failed to connect to repository : Command "/usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
そのURLでのアクセスはシェルで機能します。
jenkins@dilbert:~$ /usr/bin/git -c core.askpass=true ls-remote -h git@store:repositories/testproject.git
git@store's password:
4fd35a4f528e2f2921a52cfd03918b7cbde3d253 refs/heads/master
パスワードの入力を求められ、機能します。
Jenkinsの資格情報に同じパスワードを「git /」に関連付け、「git @ store /」も試しました。どれもうまくいきませんでした。
これはgithubに関するものではなく、ローカルのgitリポジトリに関するものです。
更新:
jenkinsマスターからビルドスレーブにpubキーを追加すると、構成が機能するようになります。
ssh-copy-id jenkins@dilbert
今、ビルドは失敗しています:
> /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /usr/bin/git config remote.Origin.url git@store:repositories/testproject.git # timeout=10
Fetching upstream changes from git@store:repositories/testproject.git
> /usr/bin/git --version # timeout=10
> /usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/Origin/*
ERROR: Error fetching remote repo 'Origin'
hudson.plugins.git.GitException: Failed to fetch from git@store:repositories/testproject.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.Java:735)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.Java:983)
at hudson.plugins.git.GitSCM.checkout(GitSCM.Java:1016)
at hudson.scm.SCM.checkout(SCM.Java:484)
at hudson.model.AbstractProject.checkout(AbstractProject.Java:1270)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.Java:609)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.Java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:531)
at hudson.model.Run.execute(Run.Java:1751)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.Java:43)
at hudson.model.ResourceController.execute(ResourceController.Java:89)
at hudson.model.Executor.run(Executor.Java:240)
Caused by: hudson.plugins.git.GitException: Command "/usr/bin/git -c core.askpass=true fetch --tags --progress git@store:repositories/testproject.git +refs/heads/*:refs/remotes/Origin/*" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ストアはジェンキンスマスター、ディルバートはビルドスレーブです。マスターからスレーブへのsshが機能します。
jenkins@store:~$ ssh dilbert uptime
16:06:21 up 3 days, 18:53, 13 users, load average: 0,31, 0,38, 0,50
これをデバッグする方法はありますか?
認証はssh経由で機能します。 git-serverのgit-userにjenkinsユーザーの公開ssh-keyを追加しましたか?
ssh-authenticationの設定方法についての説明が必要な場合はお知らせください。この投稿をここで編集します。
/編集:
実行してよかったです。設定のssh部分の詳細なマニュアルについては、jenkinsの公式Webサイトを調べましたが、見つかりませんでした。
これが簡単な概要です-これが必要なものかどうかを教えてください。
jenkins@dilbert:~/.ssh$ ssh-copy-id git@store
jenkins @ dilbert ssh公開鍵をgitサーバーにコピーする