2017-02-28 79 views
0

我設法在我的CI管道中設置sbt-release來發布發佈工件(例如v0.0.1)。從那時起,我可以添加本地更改,並且構建版本隨我的提交(v0.0.1-1-SHA1-SNAPSHOT)一起更改爲快照。在這個階段,我如何發佈快照工件而不發佈?我的意思是,我可能不想在這個階段發佈v.0.0.2,我只想發佈快照。另外,我想以這種方式來保留版本格式,而且我不需要手動輸入版本。如何使用sbt-release發佈快照工件?

+0

我的基本設置如下http://blog.byjean.eu/2015/07/10/painless-release-with-sbt.html –

回答

2

最終,我通過使用單獨的「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釋放」部分的鏈接貼在我的評論

下面是一個應用程序的樣本釋放過程,將其切換到庫中,你會取消對publishArtifacts和評論下一行用於從Universal命名空間發佈軟件包。

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

+0

你能更多地討論如何增加增加了「SBT發佈'任務? –

+0

@TusharSudake在我發佈的鏈接的「sbt-release」部分中描述,我將發佈步驟添加到發佈過程。請參閱上面我更新的答案。 –