什么sbt插件可用于git项目的频繁(每天多次)发布?

Mad*_*Dog 4 git scala release-management sbt

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

是否有任何好的插件可以做一些事情,如抓住git checkout哈希和用户(以及日期)作为版本?

gou*_*ama 6

感谢sbt的Process API,你实际上只需要在你的版本中包含git哈希:

version in ThisBuild := "1.0-" + Process("git rev-parse HEAD").lines.head
Run Code Online (Sandbox Code Playgroud)

使用git rev-parse --short HEAD了一个git散列的短版.

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

version in ThisBuild <<= gitSha("1.0-" + _)
Run Code Online (Sandbox Code Playgroud)