如何使用sbt-release发布快照工件?

And*_*nno 2 java scala maven sbt sbt-release

我设法在我的CI管道中设置了sbt-release来发布发布工件(例如v0.0.1)。从那时起,我可以添加本地更改,并且构建版本也将更改以及提交(v0.0.1-1-SHA1-SNAPSHOT)更改为快照。在此阶段,如何发布快照工件而不释放?我的意思是,我可能不想在此阶段发布v.0.0.2,我只想发布快照。另外,我想以这种方式保留版本格式,而无需手动输入版本。

And*_*nno 5

最终,我通过使用单独的“ sbt release”命令发布发布工件和使用“ sbt publish”发布快照工件来响应我的要求。我还需要按如下所示在build.sbt文件中设置发布位置。

publishTo <<= version { v: String =>
 val nexus: String = "https://xxxxxxxx/repository/"
 if (v.trim.endsWith("SNAPSHOT"))
   Some("Snapshots" at nexus + "snapshots")
 else
   Some("Releases" at nexus + "releases")
}
Run Code Online (Sandbox Code Playgroud)

从我评论中发布的链接的“ sbt-release”部分

以下是应用程序的示例发布过程,要将其切换到库,您将取消对publishArtifacts的注释,并注释下一行,该行用于从Universal名称空间发布程序包。

releaseProcess := Seq( checkSnapshotDependencies, inquireVersions, setReleaseVersion, runTest, tagRelease, // publishArtifacts, ReleaseStep(releaseStepTask(publish in Universal)), pushChanges )