この質問は長く多面的なので、簡単な概要から始めてから、私が試したすべてのことと、なぜそれらが機能しないのか、何が間違っているのかについての質問を詳細に示します.
概要
BitBucket のプライベート リポジトリでソース コードのビルド ジョブを Hudson にセットアップしようとしています。スタック オーバーフローには同様の質問がたくさんありますが、さまざまな理由から、私のニーズに対応するものはありません。
ssh の代わりに https を使用してアクセスしたいのですが、ハドソンで https を使用してアクセスする方法はないようで、Web 上のすべての人が ssh で販売されているようです。それで、sshで動作させようとしましたが、無駄でした。
ですから、私の中心的な質問は次
のとおりです。ハドソンのプライベート BitBucket リポジトリにアクセスするにはどうすればよいですか?
ノート
- Jenkinsの方が優れていることはわかっていますが、確立されたHudson Serverを使用しています。Jenkins への切り替えに関するアドバイスはありません。
タイトルとタグに Jenkins を含めました。これは、両方に適用できる解決策がほとんどないためです。 - いくつかの行き止まりに遭遇したため、上記の中心的な質問を詳しく説明する「サブ質問」もいくつか尋ねます。それらについて教えていただければ、さらに感謝します。
問題
Hudson 用の Git プラグインを使用し、次のように構成します。
これは非公開リポジトリなので、何らかの認証が必要です。もちろん、ビルドは失敗しました。スタック トレースの関連部分は次のとおりです。
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException:
Could not clone https://TJamesBoone@bitbucket.org/OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
https://TJamesBoone@bitbucket.org/OtherUser/projectname.git: not authorized
質問: Hudson 用の Git プラグインがプロジェクト構成にプライベート リポジトリの認証用の場所がないのはなぜですか? 結局、SVN プラグインは認証を処理できます。正当な理由はありますか?
私が試したこと
https URL の代わりに ssh URL を使用するようにプロジェクトを再構成しました。
次に、Atlassianのこのチュートリアルを使用して ssh キーを作成しました。次に、BitBucket のプロジェクトに ssh キーを追加しました。
再度ビルドを試みたところ、次のスタック トレース (関連部分) が得られました。
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException:
Could not clone git@bitbucket.org:OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
git@bitbucket.org:OtherUser/projectname.git:
UnknownHostKey: bitbucket.org. RSA key fingerprint is
97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
次に、利用可能な 2 つの ssh プラグイン、Publish Over SSH プラグインと SSH プラグイン (ここで学んだこと) を使用して Hudson を構成する必要があると考えました。
しかし、私はそれらを使用する方法を理解できません。まず、Publish Over SSH プラグインは必要ないと思います。公開しようとしているのではなく、プルしようとしているだけだからです。次に、SSH プラグインが機能しません。私はこれをやってみました:
しかし、ここで問題なのは、接続できないことです。さらにポート番号が欲しいのですが、何も入力しないとデフォルトで22が使われます。私はそれをどうするかわかりません。
質問: このプライベート BitBucket リポジトリから正常にプットするために、SSH サイトを構成する必要さえありますか?
概要
Hudson のプライベート BitBucket リポジトリにアクセスするにはどうすればよいですか?
私の Hudson ビルドでは、このプライベート BitBucket リポジトリからプルできる必要があります。ssh で動作させることができないようです。また、パスワードを入力する場所がないため、https を使用できるかどうかさえわかりません。いずれかの方法で誰かが私を助けてくれれば、私は幸せです。