5

hudson v1.362 でパラメーター化されたビルドをセットアップしています。私が作成しているパラメーターは、Subversion でチェックアウトするブランチを決定するために使用されます。

次のように svn リポジトリの URL を設定https://my.svn.server/branches/${branch}すると、チェックアウトとビルドが正常に実行されます。

ビルドが終了したら、ビルドにタグを付けたいと思います。これを行うために、hudson 用の SVN タグ付けプラグインを使用しています。そのため、hudson プロジェクトのプロジェクト構成画面の下部に移動し、「成功したビルドで Subversion のタグ付けを実行する」をオンにします。

ここで、タグ ベース URL を に設定するhttps://my.svn.server/tags/${branch}-${BUILD_NUMBER}と、これらのプロパティが見つからないというエラーが表示されます。だから私はそれらを次のような環境変数の使用法に変更します:https://my.svn.server/tags/${env['branch']}-${env['BUILD_NUMBER']}そしてsvnタグ付けプラグインは満足しています。

問題は、上部にある私の svn リポジトリが${branch}構文と svn タグ付けプラグイン barfs を使用していることです。

moduleLocation: Remote ->https://my.svn.server/branches/$branch/
Tag Base URL: 'https://my.svn.server/tags/thebranchiused-1234'.
There was no old tag at https://my.svn.server/tags/thebranchiused-1234.
ERROR: Publisher hudson.plugins.svn_tag.SvnTagPublisher aborted due to exception
java.lang.NullPointerException
    at hudson.plugins.svn_tag.SvnTagPlugin.perform(SvnTagPlugin.java:180)
    at hudson.plugins.svn_tag.SvnTagPublisher.perform(SvnTagPublisher.java:79)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
    at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580)
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558)
    at hudson.model.Build$RunnerImpl.cleanUp(Build.java:167)
    at hudson.model.Run.run(Run.java:1295)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:124)
Finished: FAILURE

最初の行に注目してください: svn タグは、リポジトリ URL の一部として ${branch} を見ています... プロパティ値を解析していません。

svn の元のリポジトリ URL を変更して${env['branch']}構文を使用しようとしましたが、この構文はチェックアウトによってまったく解析されないため、元のチェックアウトで爆発します。

ヘルプ?!

パラメータ化されたビルドを使用して、チェックアウトとビルドのタグ付けに svn URL を設定するにはどうすればよいですか?!

4

2 に答える 2

3

タグ付けプラグインは使用しませんが、次のようにシェル スクリプトで SVN.EXE を使用します。

svn cp %workspace%\trunk@ http://myserver/release/%build_number%/trunk -m "(ここにログ テキストを入力)" --parents

おそらく、同様のことがあなたにも当てはまるでしょう。

于 2010-06-17T16:12:24.267 に答える
0

次の URL でタグ付けプラグインを使用します。

http://subversion.repository/branches/jenkinstest_tags//build-${env['BUILD_NUMBER']}

そしてそれは動作します。'/jenkinstest_tags//build' のように、二重の '//' を使用する必要がありました。これは回避策のようです。

于 2011-06-24T06:46:34.370 に答える