Mad*_*Dog 4 git scala release-management sbt
我们的创业公司有大约5个scala项目,我们经常需要将更新推向生产.由于我们的快节奏,我很快发现sbt发布插件的开销太大,因此一整天都在推出SNAPSHOTS.我们在云中有一个构建服务器(Jenkins) - 也可用于生成版本,但即使这样也会减慢我们的速度.
是否有任何好的插件可以做一些事情,如抓住git checkout哈希和用户(以及日期)作为版本?
感谢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)