В Grails, как я могу добавить номер сборки при использовании 'set-version' - PullRequest
2 голосов
/ 17 февраля 2011

Я использую Jenkins (Hudson) с плагином Grails для сборки при обновлении svn. Я нашел этот пример сценария, который позволяет вам включать номер сборки из env var:

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

Но, как вы видите, префикс жестко закодирован. Я хотел бы использовать номер версии, указанный в файле application.properties. Как я могу сделать что-то вроде:

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

Перепробовал множество областей / синтаксиса безрезультатно.

1 Ответ

2 голосов
/ 17 февраля 2011

Это невозможно из коробки. Дженкинс или, в частности, плагин 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...