10

いくつかのコード (Java) を含む Mercurial リポジトリ (Bitbucket 上) があり、クラウドベースの Jenkins サーバー (CentOS 上で実行されている Jelastic) 上で CI ビルドを実行したいと考えています。私の問題は、Jenkins サーバーに Mercurial を適切にインストールできなかったことです。

Jenkins ビルドは次のメッセージで失敗します。

エラー: hg が見つからなかったため、https://bitbucket_jenkins_user:some_password@bitbucket.org/repo_owner/my_repository のクローンを作成できませんでした。Mercurial のインストールが適切に構成されていることを確認してください

セットアップ情報

  1. これは、Bitbucket でホストされているプラ​​イベート Mercurial リポジトリです。
  2. Bitbucket で、プッシュが発生した後に Jenkins ビルドをトリガーするサービスをセットアップしました
  3. Mercurial リポジトリで特定のbitbucket jenkins ユーザーを定義しました。このユーザーには読み取り権限しかなく、単純な https 認証を使用してログインします。
  4. Jenkins は、CentOS 6 の Jelastic クラウド環境でホストされている Tomcat 7 で実行されます。
  5. Mercurial プラグインは、Manage plugins によって、Jenkins インターフェースを介してインストールされました
  6. ビルドは、(Bitbucket で定義されたサービスによって) リモートでトリガーされるように構成されています。
  7. 手動で開始した場合と、リポジトリへのプッシュからトリガーされた場合のビルド結果は同じです。

私が最初にこれを行ったとき、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 のバイナリとしてどこかで入手できますか?

4

1 に答える 1