4

我们的初创公司有大约 5 个 scala 项目,我们经常需要将更新推送到生产环境。由于我们的节奏很快,我很快发现 sbt 发布插件的开销太大,因此一整天都在推出 SNAPSHOTS。我们在云中有一个构建服务器(Jenkins)——它也可以用来生成发布,但即使这样也会减慢我们的速度。

有没有什么好的插件可以做一些事情,比如抓取 git checkout 哈希和用户(连同日期)作为版本?

4

2 回答 2

6

多亏了 sbt 的Process API,你实际上只需要很少的东西就可以在你的版本中包含 git 哈希:

version in ThisBuild := "1.0-" + Process("git rev-parse HEAD").lines.head

用于git rev-parse --short HEADgit 哈希的简短版本。

当然,为了更好地重用,您可以将Process部件移动到自己的设置中,然后执行以下操作:

version in ThisBuild <<= gitSha("1.0-" + _)
于 2013-06-13T19:35:56.023 回答
2

tl;dr使用sbt-git插件。

执行模块并开始使用enablePlugins(GitVersioning)插件build.sbt自动生成您的版本。

于 2015-07-10T08:02:51.577 回答