いくつかのコード (Java) を含む Mercurial リポジトリ (Bitbucket 上) があり、クラウドベースの Jenkins サーバー (CentOS 上で実行されている Jelastic) 上で CI ビルドを実行したいと考えています。私の問題は、Jenkins サーバーに Mercurial を適切にインストールできなかったことです。
Jenkins ビルドは次のメッセージで失敗します。
エラー: hg が見つからなかったため、https://bitbucket_jenkins_user:some_password@bitbucket.org/repo_owner/my_repository のクローンを作成できませんでした。Mercurial のインストールが適切に構成されていることを確認してください
セットアップ情報
- これは、Bitbucket でホストされているプライベート Mercurial リポジトリです。
- Bitbucket で、プッシュが発生した後に Jenkins ビルドをトリガーするサービスをセットアップしました
- Mercurial リポジトリで特定のbitbucket jenkins ユーザーを定義しました。このユーザーには読み取り権限しかなく、単純な https 認証を使用してログインします。
- Jenkins は、CentOS 6 の Jelastic クラウド環境でホストされている Tomcat 7 で実行されます。
- Mercurial プラグインは、Manage plugins によって、Jenkins インターフェースを介してインストールされました
- ビルドは、(Bitbucket で定義されたサービスによって) リモートでトリガーされるように構成されています。
- 手動で開始した場合と、リポジトリへのプッシュからトリガーされた場合のビルド結果は同じです。
私が最初にこれを行ったとき、Jenkins に Mercurial プラグインをインストールするだけで十分であり、リポジトリに接続してコードを取得できるようにするために必要な Mercurial バイナリもインストールされるという印象を受けました。私は間違っていたことに気付きました。Manage Jenkins / Configure System ページで Mercurial インストールを指定する必要があります。
質問
- ssh アクセスせずに「yum install mercurial」を実行せずに Mercurial インストールを作成することは可能ですか?
- Jenkins インターフェイスで、[自動インストール] オプションを選択するときに何を指定できますか?
- インストーラーを定義する際に、「zip/tar.gz を抽出」オプションを試してみましたが、「バイナリーアーカイブのダウンロード URL」には何を記述すればよいですか?
- Jenkins は、「コマンドの実行」のインストーラー オプションも提供します。「yum install ...」や「rpm ...」など、どのようなコマンドでしょうか。
私のサーバーはクラウドベースであるため、ssh アクセスは有料のアドオンであり、避けたいと考えています。しかし、それが私の唯一の選択肢である場合は、もちろんそれを行い、サーバー上で実行中のコマンドにアクセスできるようにします。ただし、Centos で「yum install mercurial」を実行すると、Mercurial の 1.4 バージョンしか表示されないようです。これを書いているときの現在のバージョンは 2.6.3 ですが、ソースをダウンロードして自分でコンパイルする必要がありますか、それとも Centos のバイナリとしてどこかで入手できますか?