12

プロジェクトのいくつかのgitブランチを自動的にビルドするようにJenkinsをセットアップしました。ビルドは、ビルド後のアクションとして、ソナー分析もトリガーします。

問題は、すべてのブランチが同じSonarプロジェクトを指していることです。sonar.branchプロパティがあることを知っています。Jenkinsにsonar.branchプロパティを構築中の現在のgitブランチに自動的に設定させることは可能ですか(プロジェクトのpom.xmlを変更する必要はありません)?

4

4 に答える 4

22

-Dsonar.branch.name=somethingjenkinsのビルド後のアクション(詳細設定)のフィールドMAVEN_OPTSに追加してみてください。

jenkinsジョブをどのように構成するかわからないため、解決方法がわかりsomethingません...しかし、おそらくのようなものになります$git.branch

私は試していなかったので、うまくいくかどうかはわかりません。

Jenkinsマルチブランチパイプラインでは、変数はBRANCH_NAMEです。

PS 質問を読んでいる間、Mavenを使用しているかどうかを判断するのは困難です。Mavenを使用していない場合:Jenkins構成に、を定義できるフィールドがありますproject propertiessonar.branch

于 2013-03-24T10:01:32.350 に答える
4

これはうまくいくはずです

mvn sonar:sonar -U -Dsonar.branch.name=$BRANCH_NAME
于 2017-08-31T06:00:59.900 に答える
1

これがJenkinsの自動実行に役立つかどうかはわかりませんが、Unixベースの環境にいる場合は、適切なブランチセットを使用してmvn sonar:sonarを実行するために、コマンドを実行できます(バッククォートに注意してください)。

mvn -Dsonar.branch=`git rev-parse --abbrev-ref HEAD` sonar:sonar
于 2013-12-02T13:42:31.740 に答える
0

ブランチを指定するためにビルドパラメーターを使用しましたか?

はいの場合、Sonarにどのブランチであるかを簡単に伝えることができます。configtextareaに追加するだけです。

sonar.branch=${branch}

ここで、branchはビルドパラメータの名前です。

于 2015-02-18T11:10:35.263 に答える