私はJenkins Serverに自動的にアクセスさせるためにbitbucketにGITリポジトリを持っています。これは、公開鍵/秘密鍵の認証を使用してのみ可能です。そこで私は鍵ペアを作成し、公開鍵をbitbucketにアップロードしました。公開鍵と秘密鍵は、jenkinsを実行しているtomcatユーザの.sshフォルダにある私のサーバ上にあります。そのユーザーとしてサーバーにログインしているときにプロジェクトをクローンできるようになりました。jenkinsからgit bitbucketリポジトリにログインするには
しかし、私はジェンキンを実際にbitbucketからコードをチェックアウトすることができません。それは常に言う:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
は、まあ、私はSSH経由でリポジトリにアクセスするとき、私はこれを自動的に行うことができない私の秘密鍵とジェンキンスのパスフレーズを提供する必要があるため、この問題が発生することを前提としています。私は次の内容を含む.sshフォルダ内の設定ファイルを提供することで、パスフレーズを聞かbeeingて回避することが可能であることを読んで:
Host bitbucket.org
IdentityFile ~/.ssh/id_dsa
私はノーとすぐに私は私ができる、そのファイルを提供してそうしましたが、 bitbucketからリポジトリを長く複製してください。上記のエラーメッセージと同じエラーメッセージが表示されます。
誰でもこの設定作業を行うことができましたか?私はまた、私には役に立たなかったstackoverflow上の次のスレッドを読む:How do i set a private ssh key for hudson/jenkins to access bitbucket?と私は、実際には "whoami"を実行する空のテストプロジェクトを作成してtomcat6の下で実際に実行されることを確認した。だから私は問題を解決するためのアイデアからかなり外れています。
ありがとうございました。それは本当に問題を解決しました。 – ali
@ali、もしjenkinsが読み取り専用アクセスしか必要としないのであれば、sshを使うよりリポジトリにアクセスする他の方法はありませんか? – jamessan
ジェンキンgitプラグインは他の方法を提供しません。 – ali