scala - SBT:工件的自动版本控制
问题描述
我们有一个 Scala 项目,我们正在通过 CI 工具 (TeamCity/Jenkins) 构建它。我们正在寻找一种能够从构建作业本身设置工件的构建版本而不依赖于build.sbt
文件中的条目的能力。作为参考,对于 java maven 构建,我们可以使用设置工件版本的目标集版本,而不管我们在 pom.xml 中有什么。我们也在为 SBT 构建寻找类似的东西。
解决方案
我建议看看下一个 sbt 插件:
我们的团队使用sbt-dynver
Git 创建版本,因为它更容易。我建议在 git 标签信息之上构建版本,而不是使用 CI 工具(TeamCity/Jenkins)信息 - 例如构建号,因为您可以构建相同的版本两次。
此外,考虑使用https://github.com/sbt/sbt-buildinfo - 另外,通过 API 公开构建版本或打印到输出以快速识别当前部署的应用程序版本。
推荐阅读
- ruby - 提取唯一词
- javascript - 使用 AJAX 和 ASP.NET 上传带有文本的文件
- php - Laravel - 来自支付网关后无法检索存储在会话中的数据
- android - 由于 RecyclerView,Scrollview 在 CollapsingToolbarLayout 下方滚动
- arrays - 使用 Go 进行插入排序
- angular - 来自 API 的 Angular 动态路由
- node.js - 无法将包添加到本地 npm 缓存
- javascript - 如何使用无状态组件中的 react-navigation 将 getParam 参数传递到另一个屏幕以触发 graphql 突变?
- label - Gnuplot 使用数据中的 xtic 但仅每 10 次绘制一次
- java - compareTo 方法如何用于字符串?如果一个单词出现在字母表中的另一个单词之后,那么它返回正数还是负数?