4

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

4

1 回答 1

6

最终,我通过使用单独的“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 的注释并注释用于从通用命名空间发布包的下一行。

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

于 2017-03-02T18:19:23.753 回答