3

私はJenkinsを初めて使用し、設定を始めたばかりです。これは私が今までやったことです:

  1. ホームページを表示するように Jenkins をインストールして構成しました。PMD プラグインを追加しました。
  2. HUDSON_HOME特定のディレクトリ > C:\Work\Jenkins に設定します。
  3. 単純な何もしない ant スクリプトを実行するようにテスト ビルドを構成しました。正常に実行されます

  4. pmdbuild.xmlC:\myview (私は clearcase を使用しています) 内の一連のファイルに対してチェックを実行するために独立して作成されました。この xml は、出力 pmd_results.xml をワークスペース ディレクトリにもコピーします。$HUDSON_HOME/[job-name]/workspace

  5. pmdbuild.xmlここで、プライマリ ビルドのステップとしてを追加しました。したがって、私のビルドには 2 つのステップがあります。単純なスクリプトを実行し、何もしません。b. mdbuild.xml生成pmd_results.xmlして配置するp を実行します$HUDSON_HOME/[job-name]/workspace(Jenkins PMD プラグインがファイルを想定しているため、ハードコードされています)。

  6. Jenkins はpmd_results.xml、プラグインを使用して自動的に を取得し、警告とすべてを表示します。

今問題:

  • PMD の結果でファイル名をクリックするとfilenotfound、 でソース ファイルを探しているため、例外が発生します$HUDSON_HOME/[job-name]/workspace

  • Java コード ファイルは C:\myview (clearcase スナップショット ビュー) に配置されます。

私の質問は、すべてのコード ファイルが内部に存在する必要があります$HUDSON_HOME/[job-name]/workspaceか?? つまり、Jenkins に PMD 入力ファイルを C:\myview または$HUDSON_HOME/[job-name]/workspace??の代わりに他のディレクトリで探すように指示することはできません。

非常に長い説明で申し訳ありません。

4

1 に答える 1

3

Jenkinsは、すべてのコードがワークスペースにあることを想定しています。通常、Jenkinsを使用してコードのコピーをワークスペースにチェックアウトし、ワークスペースのソースですべてのビルドステップを実行します。

最初は抑制しているように見えるかもしれませんが、Jenkinsを別のサーバーに移動したり、スレーブインスタンスを作成したりする必要がある場合は、多くの問題を回避できます。

したがって、Jenkinsにコード(クリアケースプラグインが必要)をワークスペースにチェックアウトさせ、チェックアウトされたコードで分析を実行することをお勧めします。

コードを元の場所にとどまらなければならないやむを得ない理由がある場合(この場合はC:\ myview)、ビルドのワークスペースをそのディレクトリに設定できます(これはジョブ構成ページで見つけてください。クリックする必要があります。オプションを表示するための「拡張」ボタン)。

于 2011-10-31T11:32:08.873 に答える