2012-05-11 8 views
7

Jenkinsのscmのパラメータの値を渡すことはできますか?私のpom.xmlでjenkinsによるパラメータによるscmタグ値の受け渡し

が、私はデフォルトとして設定された値を持っている:

<scm> 
    <connection> scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/ </ connection> 
    <developerConnection>scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/</developerConnection> 
</ scm> 

私は別のブランチで実行し、リリースプロセス内(Jenkinsのリリースを実行するときに問題があり、それはプロジェクトのタグを生成する)常にpomで定義された値を取得します。

私はscm pomプロジェクトで自動的に設定されるJenkinsの特別なパラメータに新しいパスを渡します。

パラメータ化された建物で文字列パラメータを設定していくつかのテストを行いましたが、指定されたパラメータと構造エラーが認識されませんでした。

もう一つの方法は、「リリースの目標とオプション」を通過しました:

-X -Dresume=false release:clean release:prepare release:perform \ 
    -DscmConnection="scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B"-DscmDeveloperConnection = "scm: svn: https ://172.10.10.30/svn/repPortal/branches/2012/Branch_B "scm: validate 

エラーが...

Caused by: org.apache.maven.shared.release.ReleaseFailureException: 
    Missing required setting: scm connection or developerConnection must be specified. 

を持続し、私が言うことができるようにこれを行う方法はありますジェンキンス?

答えて

1

SCM接続に定義されたプロパティが正しくないことに気付きました。コマンドラインでSCM接続を設定するプロパティは-Dproject.scm.connection、デベロッパー接続は-Dproject.scm.developerConnectionです。

+0

私はジェンキンズで以下の命令を試しましたが、pom.xmlに定義されているscmタグを変更しませんでした。-X -Dresume = falseリリース:クリーンリリース:準備リリース:perform -Dproject.scm.connection = scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B-Dproject.scm.developerConnection = scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B 設定を書き換える別の方法はありますか? – ricardo

+0

'-DdryRun = true'を' release:perform'なしで同じコマンドに追加してください。 Mavenが作成する中間POMを見てみましょう。いずれかが正しいかどうか?また、JenkinsなしでこのdryRunコマンドをコマンドラインで実行することを検討してください。同じ結果が得られますか?最後に、昨日リリースされた 'maven-release-plugin'バージョン2.3がリリースされました。SCMの使用に関連するいくつかの修正が加えられました。 – user944849

1

MRELEASE-707によると、プロパティconnectiondeveloperConnectionは読み取り専用であり、直接設定することはできません。 URLの独自のプロパティを定義し、プレースホルダーとして使用する必要があります(How to override maven property in command line?参照)。

関連する問題