J'utilise TeamCity pour exécuter un script bash qui utilise SBT Native Packager pour publier une image sur Docker. La partie SBT du script bash ressemble à quelque chose comme ceci:Envoyer la version du module en tant qu'argument de ligne de commande à SBT
sbt -DdockerRepository=$repo -DpackageName=$packageName -D myproject/docker:publish
Je veux transmettre le numéro de version de TeamCity comme numéro de version à mon paquet. Aujourd'hui, je précise le numéro de version manuellement dans les paramètres de build.sbt:
settings(
version := "0.20",
....,
dockerBaseImage := "example.com:5000/linux/java8:latest",
dockerRepository in Docker := Some("example.com/myoldrepo"),
dockerUpdateLatest := true'
)
Je veux être en mesure de faire comme ceci:
activator -Dversion=0.21 -DpackageName=myproject -D myproject/docker:publish
mais cela ne semble pas fonctionner. Cependant, surcharger le dockerRepository comme je le fais ci-dessus fonctionne.
Comment puis-je transmettre le numéro de version souhaité dans SBT à partir de la ligne de commande/TeamCity?
Merci. Qu'est-ce qui est considéré comme plus correct de cette approche et Andrzejs répond ci-dessus? –
La principale différence est que mon approche ne nécessite pas de changer de build. Les deux sont corrects à mon humble avis. – kardapoltsev