Używam Travis do ciągłego budowania i integracji.Jak opublikować tylko w gałęzi głównej pod Travis i sbt 0.13
after_success:
- sbt publish
ile chcemy zbudować Travis wszystkich naszych oddziałów i wyciągnąć wnioski, tylko chcemy go publish
gdy na master
gałęzi.
publishTo <<= version { (v: String) =>
val nexus = s"asdf"
/* Don't let Travis publish when building pull requests.
* $TRAVIS_PULL_REQUEST == "false" if it's not a pull request. So we wan't publishTo to be
* None when TRAVIS_PULL_REQUEST != false.
*/
if(Try(sys.env("TRAVIS_PULL_REQUEST")).getOrElse("false") != "false")
None
/* Don't let Travis publish except when building master. */
if(Try(sys.env("TRAVIS_BRANCH")).map(_ != "master").getOrElse(false))
None
else if(v.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + "snapshots")
// don't let Travis publish releases, either
else if(Try(sys.env("TRAVIS")).getOrElse("false") == "true")
None
else
Some("releases" at nexus + "releases")
})
Problem z tym podejściem polega na tym, że Travis dwa razy kompiluje gałęzie, ponieważ nie powielają publikacji na ostatnim etapie.
W jaki sposób można zupełnie zapobiec uruchomieniu Travis w trybie sbt publish
w oddziale innego niż master
?
Czy ta SBT 0.13+? –
Tak, używamy sbt 0.13. – schmmd