2

svnを更新するときに、GrailsプラグインでJenkins(Hudson)を使用してビルドを実行しています。env変数からビルド番号を組み込むことができる次のサンプルスクリプトを見つけました。

set-version 1.1.0.${env['BUILD_NUMBER']}

ただし、ご覧のとおり、プレフィックスはハードコーディングされています。application.propertiesファイルに設定されているバージョン番号を使用したいのですが。どうすれば次のようなことができますか?

set-version ${app.version}.${env['BUILD_NUMBER']}

さまざまなスコープ/構文を試しましたが、役に立ちませんでした。

4

1 に答える 1

2

箱から出して行うことはできません。Jenkinsまたは具体的にはGrailsプラグインはapplication.propertiesファイルのコンテンツを読み取らないため、既存のアプリケーションバージョンを変数として使用することはできません。

append-version渡された値を読み取って追加するカスタムスクリプト(など)をアプリケーションに作成することを検討することをお勧めします。引数を変更しapplication.propertiesて既存のset-versionスクリプトを呼び出すことができます。

また、その仕事をするための簡単なスクリプトを作成しました。

includeTargets << grailsScript("Init")

target(main: "Append a string to the existing version number") {
    depends(checkVersion, parseArguments)

    def newVersion = metadata.'app.version' + '-' + args
    metadata.'app.version' = newVersion
    metadata.persist()
}

setDefaultTarget(main)
于 2011-02-17T12:32:01.800 に答える