2016-05-24 5 views
1

私はスカラの初心者です。リリースプロセスでsbt-release経由でドッキング画像をプッシュ/ビルドする方法

私は、リリースプロセスを制御するためにsbt-releaseを使用し、ドッカー画像を構築/公開するためにsbt-dockerを使用しました。

私はsbt releaseを経由して特定のバージョンをリリースし、構築/ sbt dockerまたは `SBT dockerBuildAndPush」が

私は特定のバージョンをリリースしたい場合は、私は

  1. に必要

    sbt release

  2. を実行介して、ドッキングウィンドウの画像を公開することができます
  3. リリースバージョンを覚えておいて、リリースバージョンが
  4. のドッカーイメージタグを変更してください。sbt 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機能を実装する方法は考えています。あなたの助けのための

感謝〜

答えて

-1

私は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) 

}) 
関連する問題