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