我使用sbt释放控制发布过程,使用sbt-码头构建/发布坞映像。
我可以通过sbt release发布特定版本,并通过sbt docker或“`sbt”构建/发布坞映像。
如果我想发布一个特定的版本,我需要
sbt releasesbt dockerBuildAndPush但这太乏味了..。
我想在发布过程中添加构建/发布坞图。
例如:
我用build.sbt定义了我的发布过程
val publishDocker = ReleaseStep(action = st => {
// 1. get release version from sbt-release
// 2. add release version to docker image tag
// 3. push docker image to aws ecr
})
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
inquireVersions,
runTest,
setReleaseVersion,
commitReleaseVersion,
tagRelease,
publishDocker,
setNextVersion,
commitNextVersion,
pushChanges
)但是我不知道如何实现publishDocker函数。
发布于 2016-05-28 12:39:02
@ed谢谢你的建议,我自己解决了,:>
这是我的sbt:https://gist.github.com/pandaforme/e378dc3f1f32aa252b14e40937491e9c
我只需执行sbt release,它就会自动编译、生成发行版、构建和推送坞图等。
发布于 2021-04-12 18:57:25
在发布过程中发布Docker映像的最简单方法是:
releaseProcess := {
import ReleaseTransformations._
Seq[ReleaseStep](
// ... prev steps
ReleaseStep(releaseStepTask(Docker / publish)),
// ... next steps
)
}发布于 2016-05-25 22:47:35
我不熟悉sbt-docker,但您可以从st: State参数获得version:
val publishDocker = ReleaseStep(action = st => {
// 1. get version from sbt
// (it was set by sbt-release in setReleaseVersion)
val extracted = Project.extract(st)
val version:String = extracted.get(sbt.Keys.version)
})https://stackoverflow.com/questions/37418201
复制相似问题