Я использую TeamCity для запуска сценария bash, использующего встроенный пакет Packet SBT для публикации изображения в Docker. SBT часть сценария Баша выглядит примерно так:Отправить версию модуля в качестве аргумента командной строки для SBT
sbt -DdockerRepository=$repo -DpackageName=$packageName -D myproject/docker:publish
Я хочу, чтобы передать числа TeamCity сборки как номер версии в мой пакет. Сегодня я указать номер версии вручную в настройках в build.sbt:
settings(
version := "0.20",
....,
dockerBaseImage := "example.com:5000/linux/java8:latest",
dockerRepository in Docker := Some("example.com/myoldrepo"),
dockerUpdateLatest := true'
)
Я хочу быть в состоянии сделать это следующим образом:
activator -Dversion=0.21 -DpackageName=myproject -D myproject/docker:publish
, но это не похоже на работу. И все же переопределение докерера, как я делаю выше, работает.
Как передать номер моей желаемой версии в SBT из командной строки/TeamCity?
Спасибо. Что считается более правильным из этого подхода, и Анджейс отвечает выше? –
Главное отличие заключается в том, что мой подход не требует изменения конструкции. Оба они правильные ИМХО. – kardapoltsev