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

时间:2017-02-28 16:36:51

标签: java scala maven sbt sbt-release

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

1 个答案:

答案 0 :(得分: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")
}

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

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

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